重學java之類的定義

夢蝶之變發表於2020-12-17
引言

定義類時一些需要注意的細節

1. 簽名:方法名+引數型別,是方法在類中的唯一定位方式。

  • 引數型別的排序不同,也是過載的方式之一,如fuc(int a,double b)和fuc(double a,int a)是不同的
  • 與形參的變數名無關,如fuc(int a)和fuc(int b)是同一個方法
  • 當傳遞的實參型別無法與形參型別匹配,但可以進行自動轉換,如 byte—>short---->int---->long---->float---->double 遵循就近轉換的原則。如fuc(int a),fuc(long b),當傳入byte a=12時,會就近轉換成int,呼叫fuc(int a)方法。
  • 過載方法之間可以相互呼叫,可以只定義一個方法用作業務處理,其他的過載方法呼叫它即可。

2.自定義帶形參的構造方法

  • 沒定義構造方法時,java會自動無參構造器。
  • 定義了帶形參的構造器,要想再使用無參構造器,必須自己定義。
  • 過載構造器之間可通過this(…params)相互呼叫,但必須在方法類的第一行。

3. 類的包名必須是類最上方第一行程式碼,當import匯入其他類時

  • 匯入一個類:import+全路徑類名
  • 匯入一個包下所有類:import+path/包名.*
  • 當類中使用不同包下相同類名的類,必須在使用時---->程式碼中用全路徑型別表示這個類用來區分
  • 類中多次使用另外一個類的靜態變數時,也可以通過 import static +全路徑類名+靜態變數名稱

4. StringBuilder每次append都會返回this物件,直到toString()才返回一個新的字串

  • delete(first,end):刪除字串中處於[first,end)處的字元
  • insert(index,value):在字串index處插入value,value的資料型別可根據過載的情況而不同

相關文章