1、什麼是封裝?
封裝就是將屬性私有化,提供公有的方法訪問私有屬性。
做法就是:修改屬性的可見性來限制對屬性的訪問,並為每個屬性創建一對取值(getter)方法和賦值(setter)方法,用於對這些屬性的訪問。
如:private String name;
public String getName(){
return;
}
public void setName(String name){
this.name=name;
}
2、 為什麼需要封裝?
通過封裝,可以實現對屬性的數據訪問限制,同時增加了程序的可維護性。
由於取值方法和賦值方法隱藏了實現的變更,因此並不會影響讀取或修改該屬性的類,避免了大規模的修改,程序的可維護性增強。
3、 this關鍵字是什麼意思?
有時一個方法需要引用調用它的對象。為此,java定義了this這個關鍵字。簡單地說,
This是在對象內部指代自身的引用。可以直接引用對象,可以解決實例變量和局部變量之間發生的任何同名的沖突。
4、 如何實現封裝,實現封裝的具體方法?
(1)、修改屬性的可見性來限制對屬性的訪問。
(2)、為每個屬性創建一對賦值方法和取值方法,用於對這些屬性的訪問。
(3)、在賦值和取值方法中,加入對屬性的存取的限制。
5、什麼是構造方法?構造方法的語法規則?
構造方法負責對象成員的初始化工作,為實例變量賦予合適的初始值。
構造方法的語法規則:方法名與類名相同。沒有返回類型。
使用new關鍵字實例化對象的過程實際上就是調用構造方法的過程。或者說實例化一個對象實際上就是去調用這個對象的構造方法。
Xin xin=new Xin();
在實例化對象的時候,已經實例變量賦予了初始值,完成了對象的初始化工作。
6、 為什麼需要構造方法?
為屬性賦值時,很容易忘記對其中的一項或多項進行賦值。構造方法可以簡化對象初始化,為實例變量賦值。
7、 帶參數的構造方法:可以顯示地為實例變量賦予初始值。在不同的條件下創建不同的對象,這些對象的實例變量具有不同的值。
注意:在使用帶參數的構造方法實例化對象時,傳遞的值和構造方法的參數應當在個數、次序和數據類型上相互配備。
通過調用帶參數的構造方法,在創建對象時,一並完成了對象的初始化工作,簡化了對象初始化的代碼。
8、 什麼是方法重載?
方法名稱相同,參數項不相同。那麼認為一個方法是另一個方法的重載方法。
注意:重載只跟參數有關,與返回類型無關。方法名和參數相同而返回類型不相同,不能說是重載。
典型的方法重載:System.out.println(); Sysstem.out代表了一個java.io.PrintSteam對象,具有多個println(打印)方法,該方法可以接收不同類型的數據作為參數根據類型不同,
調用不同的打印方法。
在java.lang包中的Math類中的max方法。
Public static int max(int a,intb);
Public static int max(long a,long b);
Public static int max(float a,float b);
Public static int max(double a,double b);
在調用方法之前,java虛擬機先判斷給定的類型,然後決定到底調用執行那個max()方法。
9、 什麼是構造方法重載?
構造方法重載是方法重載的一個典型的特例。參數列表不同。
可以通過重載構造方法來表達對象的各種多種初始化行為。也就是說在通過new語句創建一個對象時,可以實現在不同的條件下,讓不同的對象具有不同的初始化行為。
Private String name;
Private String sex;
Public Xin(String name){
this.name=name;
}
Public Xin(String name,String sex){
this.name=name;
this.sex=sex;
}