java面向物件小技巧個人整理
封裝性
封裝性的概念
封裝性是面向物件思想的三大特徵之一,封裝就是躲藏完成細節,僅對外提供訪問介面。完成細節部份包裝、躲藏起來的辦法。
封裝有:屬性的封裝、辦法的封裝、類的封裝、元件的封裝、模組化封裝、系統級封裝…
封裝的益處:模組化、資訊躲藏、程式碼重用、外掛化易於除錯、具有平安性
封裝的缺陷:會影響執行效率
封裝之前:屬性都能夠直接訪問和修正
class Person{
String name;
int age;
}
封裝之後:
class Person{
//屬性是成員變數,私有化屬性,使得其他物件不能直接訪問屬性
private String name;
private int age;
//引數及辦法內定義的變數是部分變數
public void setName(String name){
this.name = name;}
public String getName(){
return name;}
}
成員變數和部分變數的區別
a、在類中的位置不同
成員變數:在類中定義
部分變數:在辦法中定義或者辦法的引數
b、在記憶體中的位置不同
成員變數:在堆記憶體(成員變數屬於物件,物件進堆記憶體)
部分變數:在棧記憶體(部分變數屬於辦法,辦法進棧記憶體)
c、生命週期不同
成員變數:隨著物件的創立而存在,隨著物件的銷燬而消逝
部分變數:隨著辦法的呼叫而存在,隨著辦法的呼叫終了而消逝
d、初始化值不同
成員變數:有默許初始化值,援用型別默許為null
部分變數:沒有默許初始化值,必需定義,賦值,然後才幹運用
留意:
部分變數稱號能夠和成員變數稱號一樣,在辦法中運用的時分,採用的是就近準繩。
6、結構辦法
無參結構辦法:
public Dog(){} //假如一個類沒有定義結構辦法,則默許無無參結構,假如有定義有參結構,最好再顯現定義一個無參結構辦法
帶參結構辦法:
public Dog(String name){
this.name = name;
}
多參結構辦法:
public Dog(String name,int age){
this.name = name;
this.age = age;
}
(1)結構辦法稱號與類名相同,沒有返回值宣告(包括 void)
(2)結構辦法用於初始化資料(屬性)
(3)每一個類中都會有一個默許的無參的結構辦法
(4)假如類中有顯現的結構辦法,那麼默許結構辦法將無效
(5)假如有顯現的結構辦法,還想儲存默許結構 辦法,需求顯現的寫出來。
(6)結構辦法能夠有多個,但引數不一樣,稱為結構辦法的過載
(7)在結構辦法中呼叫另一個結構辦法,運用this(...),該句程式碼必需在第一句。
(8)結構辦法之間的呼叫,必需要有出口。
(9)給物件初始化資料能夠運用結構辦法或setter辦法,通常狀況下,兩者都會儲存。
(10)一個好的程式設計習氣是要儲存默許的結構辦法。(為了便當一些框架程式碼運用反射來創立物件)
(11)private Dog(){},結構辦法私有化,當我們的需求是為了 保正該類只要一個物件時(單例形式就是私有化結構器)。鄭州心理醫院哪家好http://www.hyde8025.com/
7、this關鍵字
this關鍵字指向的是當前物件的援用
呼叫類中的屬性:this.屬性稱號,指的是訪問類中的成員變數,用來辨別成員變數和部分變數(重名問題)
呼叫類中的辦法:this.辦法稱號,用來訪問本類的成員辦法
呼叫類結構辦法:this();訪問本類的結構辦法,()中能夠有引數的 假如有引數 就是呼叫指定的有參結構