2.4 類中屬性的使用
==屬性(成員變量) VS 局部變量:==
-
==相同點:==
定義變量的格式:數(shù)據(jù)類型 變量名 = 變量值
先聲明,后使用
變量都有其對應的作用域
-
==不同點:==
-
在類中聲明的位置的不同
屬性(成員變量): 直接定義在類的一對
{}內(nèi)局部變量: 聲明在方法內(nèi)、方法形參、代碼塊內(nèi)、構(gòu)造器形參、構(gòu)造器內(nèi)部的變量
-
-
權(quán)限修飾符不同
屬性: 可以在聲明屬性時指明其權(quán)限、使用權(quán)限修飾符
常用權(quán)限修飾符:(private、public、protected、缺?。?/p>
局部變量: 不可以使用權(quán)限修飾符
-
默認初始化值不同
屬性: 類的屬性,根據(jù)其類型都有初始化值
整型(int、short、byte、long):0
浮點型(float、double):0.0
字符型(char):0 或 \u0000
布爾型(boolean):false
引用數(shù)據(jù)類型(類、數(shù)組、接口):null
局部變量: 沒有初始化值
意味著,在調(diào)用局部變量之前一定要顯式賦值
特別的,形參在調(diào)用時賦值即可
-
在內(nèi)存中加載的位置不同:
屬性: 加載到堆空間
局部變量: 加載到棧空間
package ooptest;
public class UserTest{
public static void main(String[] args){
User u1 = new User();
System.out.println(u1.name);
System.out.println(u1.age);
System.out.println(u1.isMale);
u1.talk("中文");
u1.eat();
}
}
class User{
//屬性(成員變量)
String name;
public int age;
protected boolean isMale;
public void talk(String language){//language是形參也是局部變量
System.out.print("我們使用" + language + "進行交流");
}
public void eat(){
String food = "米飯";
System.out.print("南方人喜歡吃" + food);
}
}
2.5 類中方法的聲明和使用
方法:描述類應該具有的功能
public class CustomerTest {
}
class Customes{
//屬性:
String name;
int age;
boolean isMeal;
//方法:
public void eat() {
System.out.println();
}
public void sleep(int hour) {
System.out.println();
}
public String getName() {
return name;
}
public String getName() {
String info = "我的國籍是:" + nation;
return info;
}
}
方法分類:按照是否有形參及返回值
| // | 無返回值 | 有返回值 |
|---|---|---|
| 無形參 | void 方法名 () {} |
返回值的類型 方法名 () {} |
| 有形參 | void 方法名 (形參列表){} |
返回值的類型 方法名(形參列表){} |
public void eat(){}
public void sleep(int hour){}
public String getName(){}
public String getNation(String nation){}
方法的聲明:
權(quán)限修飾符 返回值類型 方法名(形參列表){
方法體
}
說明:
權(quán)限修飾符:Java 規(guī)定了4種權(quán)限修飾符:
privatepublic缺省protected-
返回值的類型:
- 如果方法有返回值,則必須在方法聲明指定返回值的類型,同時使用
return - 如果方法沒有返回值,則方法聲明時使用
void來表示,不需要return(使用了則表示結(jié)束此方法)
- 如果方法有返回值,則必須在方法聲明指定返回值的類型,同時使用
方法名:屬于標識符,遵循尋標識符的規(guī)則和貴方,“見名知意”
形參列表:方法可聲明零個、一個、或多個形參
- 格式:
數(shù)據(jù)類型1 形參1,數(shù)據(jù)類型2,形參2
==定義方法時,該不該有返回值和形參:1.看題目要求;2.憑經(jīng)驗:具體問題具體分析==
return關鍵字的使用:
- 使用范圍:使用在方法體中
- 作用:1. 結(jié)束方法;2. 針對有返回值類型的方法,使用
return 數(shù)據(jù)方法返回索要的數(shù)據(jù) - 注意點:
return關鍵字后不可以生命執(zhí)行語句
方法的使用:
- 可以調(diào)用當前類的屬性或方法(遞歸方法:方法A中調(diào)用方法A)
- 方法中不可以定義方法