向前吧,蕩起生命之舟,不必依戀和信泊,破浪的船自會一路開放常新的花朵。
本講內容:成員變量、方法、方法的重載、構造函數
一、成員變量(類或對象的狀態)
(1)、認識成員變量、類變量、實例變量、局部變量、方法參數之間的區別
1、成員變量(field)是沒有定義在代碼塊(包括初始化塊、成員方法)中的變量。成員變量是類變量還是實例變量取決於在其聲明中是否使用了static關鍵字。
2、類變量在聲明是用了static關鍵字,它的另一個名字叫靜態變量、靜態成員變量(static field) 。
3、實例變量是在聲明時沒有使用static關鍵字的成員變量,它的另一個名字叫非靜態成員變量(non-static field)。
4、定義在代碼塊裡的變量被稱為局部變量(local variable)。
5、定義在方法聲明中的變量叫方法參數。
區別如下:
public class text { static String s1 = "類變量"; String s2 = "實例變量"; { String s3 = "初始化代碼塊裡的局部變量"; } static { String s4 = "靜態初始化代碼塊裡的局部變量"; } // s5方法的參數和方法裡的局部變量 public void printString(String s5) { String s6 = "方法裡的局部變量"; } // 靜態類方法(可以直接被類名所調用) public static void printString() { String s7 = "類方法裡的局部變量"; System.out.println(s7); } public static void main(String[] args) { text.printString(); //直接被類名所調用靜態類方法 Lei08_1 a=new Lei08_1();//創建對象 a.printString("參數的值");//調用實例方法 } }
public class text { int i; { int j; System.out.println(j);//會報錯 } public static void main(String[] args) { } }
1、修飾符,可選,用於指定誰有權限訪問此方法。
2、返回值類型,必選,用於指定該方法的返回值數據類型;如果該方法沒有返回值,則要用關鍵字 void 進行標示。方法的返回值只能有一個。
3、參數列表,可以有0到多個,多個參數之間要用逗號隔開,參數的寫法形如:String[] args, int age 這樣。
4方法名,必選,命名規則是方法名和變量名的首字母要小寫,不要弄個大寫方法名出來。
5方法體,可選,
6、大括號,可選,大括號不寫的方法叫抽象方法。
<喎?http://www.Bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+16LS4qO6yvTQ1LrNt723qNauvOS1xLnYz7U8YnI+CqGw17TMrNOwz+zQ0M6qo6zQ0M6q07DP7Ne0zKyhsaGjyOe5+8O/uPa21M/ztrzKx7TTzazSu7j2wODW0Mn6s8mz9sC0o6zDv7j2ttTP88jnufu2vNK7w/7Su9H5o6zEx8O01eK49srAvefKx7K7ysfMq87eyKTBy6GjztLDx7+0tb3Jz9K7vbK1xMD919PW0KOs0KG5t7XEtPPQocr00NTTsM/swcvL+73QtcS3vcq9oaPNqLn9yejWw7m3tPPQobXEt723qNPWuMSx5MHLy/y1xNe0zKyho9Xi0KnK9NDUus23vbeotcTPuL3ayc+1xLK7zay1vNbCwcujrLbg18u24LLKtcS21M/zo6zO0sPHuvPD5ru5u+G9srW9uPy24LXEvLzK9aOs0rK74bW81sK4/LbgtcS24NH50NShozxicj4KPC9wPgo8cD48YnI+CjwvcD4KPHA+PGJyPgrI/aGit723qNbY1Nggb3ZlcmxvYWQ8YnI+CtTaSmF2YSDW0NTK0O3A4Lao0uXW0LbguPa3vbeotcS3vbeow/vP4M2so6zWu9Kqy/zDx7XEss7K/cn5w/eyu82svLS/yaGj1eLW1sfpv/bPwqOsuMO3vbeovs2xu7PGzqrW2NTYo6hvdmVybG9hZGVkIKOpo6zV4tbWt73Kvb7NvdDX9re9t6jW2NTYo6htZXRob2Qgb3ZlcmxvYWRpbmcgo6mho7e9t6jW2NTYysfKtc/Ws8zQ8rbg0fnQ1LXE0ru49tbY0qrK1rbOoaPSsr/J0tSzxtf3tuDMrLXE0rvW1rHtz9a3vcq9oaM8YnI+CjwvcD4KPHA+PHByZSBjbGFzcz0="brush:java;">class Num{
public void max(int a,int b){
System.out.println(a>b?a:b);
}
public void max(double a,double b){
System.out .println(a>b?a:b);
}
public void max (int a,int b,int c){
int max=a>b?a:b;
System.out.println(max>c?max:c);
}
}
public class L6 {
public static void main(String[] args) {
Num a=new Num();
a.max(45, 3);
a.max(3.2, 6.5);
a.max(8, 9, 2);
}
}上面的例子說明了參數的個數,類型和順序任意一項不同就算不同的參數聲明
四、構造函數(即構造方法)
在Java中,對象是構造出來的,特意用了一個new關鍵字來標示這個創建的過程。
class Lion{ private String name; private int age; public Lion() { System.out.println("無參數構造方法"); } public Lion(String name,int age){//有參數構造方法 this.name=name; this.age=age; System.out.println("姓名:"+name+"\t年齡:"+age); } } public class L7 { public static void main(String[] args) { Lion a=new Lion(); Lion b=new Lion("黎開權", 20); } }我們看到創建對象的過程就是執行構造函數的過程,而且也看到構造方法也可以重載。
2、構造函數和類名相同
3、構造函數不能用final、static、abstract修飾
本講就到這裡,Take some time and enjoy it