java程式設計思想學習筆記:初始&過載&this&static
阿新 • • 發佈:2018-12-18
構造器初始化
-
構造器 ,採用與類相同的名稱,建立物件時,自動呼叫構造器來初始化物件
-
預設構造器(無參構造器):不接受任何引數的構造器
-
構造器也可帶引數,指定如何建立物件
-
當類中沒有構造器,編譯器會自動建立一個預設構造器; 當類中已經定義了一個構造器(無論是否帶引數),編譯器都不會自動建立預設構造器
-
初始化順序: #先靜態成員資料,後非靜態成員資料 #先成員資料,後成員方法(包括構造器) #先構造器,後普通成員函式 #先初始化基類,後初始化子類
this關鍵字
this表示對呼叫物件的引用,用法與其他物件無異;
常用於如下幾種情景:
- 返回對當前物件的引用
- 將當前物件傳遞給其他方法
static關鍵字
- static成員變數屬於全域性變數,只初始化一次,可直接由類名呼叫
- 不論該類是否產生物件,都會初始化靜態成員資料
- static方法是沒有this的方法,內部不能呼叫非靜態方法
方法過載
-
過載:函式名相同,引數型別/引數數量不一致
(函式形參名不一致、返回型別不一致的兩個函式不是函式的過載)
-
實現方法: 當主函式去呼叫過載函式時候,根據將實參的型別、個數與兩個過載函式對的進行對比,自動呼叫與形參與實參一致的函式
Ps:
1)常函式和普通函式之間存在函式過載
2)使用含預設形參的函式過載時,注意防止二義性。
fun(int a,int b=1,int c=2);
fun(int a);
主函式中fun(x)
此時的函式呼叫會產生二義性,兩個函式皆可以呼叫,並不知道該呼叫哪一個
3)功能不同的函式不要寫成函式的過載