1. 程式人生 > >java程式設計思想學習筆記:初始&過載&this&static

java程式設計思想學習筆記:初始&過載&this&static

構造器初始化

  1. 構造器 ,採用與類相同的名稱,建立物件時,自動呼叫構造器來初始化物件

  2. 預設構造器(無參構造器):不接受任何引數的構造器

  3. 構造器也可帶引數,指定如何建立物件

  4. 當類中沒有構造器,編譯器會自動建立一個預設構造器; 當類中已經定義了一個構造器(無論是否帶引數),編譯器都不會自動建立預設構造器

  5. 初始化順序: #先靜態成員資料,後非靜態成員資料 #先成員資料,後成員方法(包括構造器) #先構造器,後普通成員函式 #先初始化基類,後初始化子類

this關鍵字

this表示對呼叫物件的引用,用法與其他物件無異;

常用於如下幾種情景:

  • 返回對當前物件的引用
  • 將當前物件傳遞給其他方法

static關鍵字

  • static成員變數屬於全域性變數,只初始化一次,可直接由類名呼叫
  • 不論該類是否產生物件,都會初始化靜態成員資料
  • static方法是沒有this的方法,內部不能呼叫非靜態方法

方法過載

  • 過載:函式名相同,引數型別/引數數量不一致

    (函式形參名不一致、返回型別不一致的兩個函式不是函式的過載)

  • 實現方法: 當主函式去呼叫過載函式時候,根據將實參的型別、個數與兩個過載函式對的進行對比,自動呼叫與形參與實參一致的函式

Ps:

1)常函式和普通函式之間存在函式過載

2)使用含預設形參的函式過載時,注意防止二義性。

fun(int a,int b=1,int c=2);

fun(int a);

主函式中fun(x)

此時的函式呼叫會產生二義性,兩個函式皆可以呼叫,並不知道該呼叫哪一個

3)功能不同的函式不要寫成函式的過載