構(gòu)造方法及其重載&關(guān)鍵字&機(jī)房實(shí)訓(xùn)課總結(jié)

構(gòu)造方法:
在一個(gè)類(lèi)中定義方法如果同時(shí)滿(mǎn)足一下三個(gè)條件,該方法則稱(chēng)為構(gòu)造方法
1 方法名與類(lèi)名相同
2 字方法名的前面沒(méi)有返回值類(lèi)型的聲明
3 在方法中不能使用return語(yǔ)句返回一個(gè)值

創(chuàng)新互聯(lián)是專(zhuān)業(yè)的東鄉(xiāng)網(wǎng)站建設(shè)公司,東鄉(xiāng)接單;提供網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專(zhuān)業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行東鄉(xiāng)網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專(zhuān)業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專(zhuān)業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!

構(gòu)造方法的作用:
1、構(gòu)造對(duì)象,執(zhí)行了構(gòu)造方法,就一定會(huì)在堆內(nèi)存上為對(duì)象開(kāi)辟獨(dú)立的內(nèi)存。
2、初始化對(duì)象屬性,可以為對(duì)象屬性做一些初始化工作。
注意:構(gòu)造方法沒(méi)有返回值,構(gòu)造方法的方法名必須和類(lèi)名相同 ,同一個(gè)類(lèi)中,多個(gè)構(gòu)造方法之間也是可以相互調(diào)用的,一般來(lái)說(shuō),定義好一個(gè)類(lèi)后,一般都會(huì)準(zhǔn)備兩個(gè)構(gòu)造方法,一個(gè)是沒(méi)有參數(shù)的,一個(gè)包含全部屬性參數(shù)的。

構(gòu)造方法的重載
方法名相同,但參數(shù)不同的多個(gè)方法,調(diào)用時(shí)會(huì)自動(dòng)根據(jù)不同的參數(shù)選擇相應(yīng)的方法。

eg:定義完一個(gè)帶參數(shù)的person()構(gòu)造方法后,就可以通過(guò)此構(gòu)造方法來(lái)創(chuàng)建一個(gè)person對(duì)象
Person類(lèi)中定義了兩個(gè)構(gòu)造方法,它們構(gòu)成了重載。在創(chuàng)建p1對(duì)象和p2對(duì)象時(shí),根據(jù)傳入?yún)?shù)的不同,分別調(diào)用不同的構(gòu)造方法。

如果同一個(gè)類(lèi)中包含了兩個(gè)或兩個(gè)以上方法的方法名相同,但參數(shù)列表不同,則被稱(chēng)為方法重載
注意:在Java中的每一類(lèi)都至少有一個(gè)構(gòu)造方法,如果在一個(gè)類(lèi)中沒(méi)有定義的構(gòu)造方法,系統(tǒng)會(huì)自動(dòng)為這個(gè)類(lèi)創(chuàng)建一個(gè)默認(rèn)的構(gòu)造方法,這個(gè)默認(rèn)的構(gòu)造方法沒(méi)有參數(shù),在其方法體中沒(méi)有任何代碼,即什么也不做。
三個(gè)原則:在同一個(gè)類(lèi)中;方法名相同;參數(shù)列表不同,即參數(shù)個(gè)數(shù)或?qū)?yīng)位置上的類(lèi)型不同。this關(guān)鍵字代表當(dāng)前所在類(lèi),將來(lái)產(chǎn)生的對(duì)象,即將來(lái)用該類(lèi)的new出來(lái)的對(duì)象用于獲取當(dāng)前類(lèi)的對(duì)象的引用。

this關(guān)鍵字:通過(guò)this關(guān)鍵字可以明確地去訪(fǎng)問(wèn)一個(gè)類(lèi)的成員變量,解決與局部變量名稱(chēng)沖突的問(wèn)題

“this”代表了當(dāng)前所在類(lèi)將來(lái)產(chǎn)生的對(duì)象,即將要用該類(lèi)new出來(lái)的對(duì)象,用于獲取當(dāng)前類(lèi)的對(duì)象的引用。

this指代當(dāng)前對(duì)象可以調(diào)用當(dāng)前類(lèi)的成員,
調(diào)用構(gòu)造方法,this出現(xiàn)在構(gòu)造方法中的第一行
屬性一般不在類(lèi)以外的方法直接調(diào)用,需要對(duì)外提供方法:
public void setName(string name){
this.name=neme;
}
public void setAge(int age){
this.age=age;
}
獲取值時(shí):
public string getName(){
return this.name;
}
public string getAge(){
return this.age;
}

Java引用庫(kù)跟文件目錄結(jié)構(gòu)相似
包的概念:類(lèi)庫(kù)分級(jí)可以解決類(lèi)的命名沖突,類(lèi)文件管理等問(wèn)題。
package用來(lái)定義包
package語(yǔ)句必須作為Java源文件的第一條非注釋性語(yǔ)句
import 導(dǎo)入包
import 包名.; //導(dǎo)入指定句中的所有類(lèi)。
封裝是面向?qū)ο蟮奶匦灾?br/>封裝實(shí)際上把該隱藏的隱藏,該暴露的暴露,這些都需要通過(guò)Java訪(fǎng)問(wèn)控制符來(lái)實(shí)現(xiàn)。
訪(fǎng)問(wèn)控制機(jī)制
private:只能被當(dāng)前類(lèi)中其他成員訪(fǎng)問(wèn),類(lèi)外看不到
缺?。嚎梢员煌话兴蓄?lèi)訪(fǎng)問(wèn)
protected(子類(lèi)訪(fǎng)問(wèn)權(quán)限):被聲明為protected的成員既可以被同一個(gè)包中的其他類(lèi)訪(fǎng)問(wèn)。
public:任意位置可以訪(fǎng)問(wèn)**

public class Student{
//成員
private String name;
private String id;
public int count=0;
}
public Student(string name,string id){
this.name=name;
this.id=id;
}
publicc Student(){
}
public void setName(string name){
this.name=name;}
public string getName(){
return this.name;}
public void setId(string id){
this.id=id;}
public string getId(){
return this.id;}
public string toString(){
return“name:”+name+“,id:”+id;
}

主函數(shù)
package
public class Main{
public static void main(string args[]){
student student=new student("AA","1502001");
student student1=new student("BB","1502002");
system.out.println(student.tostring());
}
}
靜態(tài)成員static

用于輸出計(jì)算,將動(dòng)態(tài)變?yōu)殪o態(tài),

普通方法和靜態(tài)方法是否可以相互調(diào)用
靜態(tài)方法不能指向非靜態(tài)方法
靜態(tài)方法可以在任意方法調(diào)用

上機(jī)課程作業(yè)

1 對(duì)任何一個(gè)自然數(shù)n,如果它是偶數(shù),那么把它砍掉一半;如果它是奇數(shù),那么把(3n+1)砍掉一半。這樣一直反復(fù)砍下去,最后一定在某一步得到n=1。卡拉茲在1950年的世界數(shù)學(xué)家大會(huì)上公布了這個(gè)猜想,傳說(shuō)當(dāng)時(shí)耶魯大學(xué)師生齊動(dòng)員,拼命想證明這個(gè)貌似很傻很天真的命題,結(jié)果鬧得學(xué)生們無(wú)心學(xué)業(yè),一心只證(3n+1),以至于有人說(shuō)這是一個(gè)陰謀,卡拉茲是在蓄意延緩美國(guó)數(shù)學(xué)界教學(xué)與科研的進(jìn)展……
程序內(nèi)容:import java.util.;
public class Main{
public static void main(String arge[]){
int n;
Scanner in=new Scanner(System.in);
while(in.hasNext()){
n=in.nextInt();
int sum=0;
while(n!=1){
if(n%2==0){
n=n/2;
sum=sum+1;
}
else{
n=(3n+1)/2;
sum=sum+1;
}
} System.out.println(sum);
}
}
}

2讀入一個(gè)自然數(shù)n,計(jì)算其各位數(shù)字之和,用漢語(yǔ)拼音寫(xiě)出和的每一位數(shù)字。
程序內(nèi)容:import java.util.*;
public class Main{
public static void main(String args[]){
Scanner s=new Scanner(System.in);
while (s.hasNext())
{
String num=s.next();
String in[] = {"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
int sum=0,k=0;
int temp[]=new int[10];
for(int i=0;i<num.length();i++)
{
sum=sum+num.charAt(i)-48;
}
while(sum!=0)
{
temp[k]=sum%10;
sum=sum/10;
k++;
}
for(int i=k-1;i>=0;i--)
{
if(i!=0)
{
System.out.print(in[temp[i]]+" ");
}else {
System.out.print(in[temp[i]]);}

}
System.out.println();
}
}
}

3已知函數(shù)f(x)=x2+2+2x根據(jù)輸入的x值計(jì)算f(x),運(yùn)算結(jié)果不超過(guò)int范圍,x>=0
程序內(nèi)容:

import java.util.;
public class Main{
public static void main(String arge[]){
int x,y=0;
Scanner in =new Scanner(System.in);
while(in.hasNext()){
x=in.nextInt();
if(x>=0){
y=(int)(xx+2+Math.pow(2,x));
}
System.out.println(y);
}
}
}

4已知函數(shù),輸入a、b的值計(jì)算結(jié)果,小數(shù)點(diǎn)后留2位
程序內(nèi)容:import java.util.;
public class Main {
public static void main(String args[]){
int a,b;
double y;
Scanner in = new Scanner(System.in);
while(in.hasNext()){
a = in.nextInt();
b = in.nextInt();
y=Math.sqrt(aa+b*b)/2;
System.out.println(String.format("%.2f",y));
}
}
}

5已知函數(shù) ,根據(jù)輸入的x值計(jì)算f(x)
程序內(nèi)容:import java.util.;
public class Main{
public static void main(String arge[]){
int x=0,y=0;
Scanner in =new Scanner(System.in);
while(in.hasNext()){
x=in.nextInt();
if(x<-5){
y=xx+1;
}else if(x<8&&x>=-5){
y=xxx-1;
}else{
y=x+5;
}
System.out.println(y);
}
}
}
6編寫(xiě)程序計(jì)算長(zhǎng)方體的表面積和體積
程序內(nèi)容:import java.util.;
public class Main {
public static void main(String args[]){
int c,k,g;
int b=0,t=0;
Scanner in = new Scanner(System.in);
while(in.hasNext())
{
c = in.nextInt();
k = in.nextInt();
g = in.nextInt();
t=ckg;
b=(ck+cg+kg)2;
System.out.println(b+" "+t);
}
}
}
7從一組數(shù)據(jù)中找出最大數(shù)和最小數(shù)
程序內(nèi)容:import java.util.;
public class Main {
public static void main(String args[]){
int [] num=new int[50];
int max,i,min;
Scanner in = new Scanner(System.in);
while(in.hasNext())
{
num[0]=in.nextInt();
for(i=1;i<=num[0];i=i+1)
{
num[i]=in.nextInt();
}
max=num[0];
min=num[1];
for(i=2;i<=num[0];i++)
{
if(max<num[i])
{
max=num[i];
}else if(min>num[i])
{
min=num[i];
}
}
System.out.println(max+" "+min);
}
}
}

8從鍵盤(pán)接收三個(gè)數(shù),按從小到大順序排序。
程序內(nèi)容:import java.util.*;
public class Main {
public static void main(String args[]){
int [] num=new int[50];
int max,i,min;
Scanner in = new Scanner(System.in);
while(in.hasNext())
{
num[0]=in.nextInt();
for(i=1;i<=num[0];i=i+1)
{
num[i]=in.nextInt();
}
max=num[0];
min=num[1];
for(i=2;i<=num[0];i++)
{
if(max<num[i])
{
max=num[i];
}else if(min>num[i])
{
min=num[i];
}
}
System.out.println(max+" "+min);
}
}
}

文章題目:構(gòu)造方法及其重載&關(guān)鍵字&機(jī)房實(shí)訓(xùn)課總結(jié)
文章鏈接:http://muchs.cn/article4/jepjie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站制作、企業(yè)網(wǎng)站制作ChatGPT、虛擬主機(jī)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司