構造方法中的this和super

2021-08-20 23:37:48 字數 1032 閱讀 6437

自己第一次看完se的時候還不是很了解,這些什麼this,super,但是現在要開始找實習工作了,自己打算就把se,框架等在看一遍,也把自己看的一些整理出來

this:當前類的物件的引用

那有那些應用呢?

1.區分成員變數和區域性變數

這段**我相信很多人都寫過,在setname()方法中有乙個和成員變數重名的name,那我們怎麼區分呢?

這時候this關鍵字就很好的解決了

2. this是在方法中使用的,哪個物件呼叫了該方法,那麼,this就代表呼叫該方法的物件引用

3.this什麼時候存在的?當建立物件的時候,this存在的

super:指的是父類的儲存空間(理解為父類的引用

)作用:

1.呼叫父類的成員變數:

super.成員變數

;2.呼叫父類的構造方法:

super(引數

);3.呼叫方法的成員方法:

super.成員方法

();l繼承中的構造方法注意事項:

1,如果我們手動給出了構造方法,編譯器不會在給我們提供預設的空引數構造方法

如果我們沒寫任何的構造方法,編譯器提供給我們乙個空引數構造方法

2, 在構造方法中,預設的第一條語句為 super();

它是用來訪問父類中的空引數構造方法,進行父類成員的初始化操作

3, 當父類中沒有空引數構造方法的時候,怎麼辦?

a: 通過 super(引數) 訪問父類有引數的構造方法

b: 通過 this(引數) 訪問本類中其他構造方法

注意:本類中的其他構造方法已經能夠正常訪問父類構造方法,但是必須要能訪問到父類的構造方法

4, super(引數) 與 this(引數) 不能同時在構造方法中存在,按具體的情況要寫,但是必須要能訪問到父類的構造方法

構造方法和構造方法的過載

1.通過new關鍵字呼叫 2.構造器雖然有返回值,但是不能定義返回值型別 返回值的型別肯定是本類 不能在構造器裡使用return返回某個值。3.如果我們沒有定義構造器,則編譯器會自動定義乙個無參的建構函式。如果已定義則編譯器不會自動新增 4.構造器的方法名必須和類名一致 類 class point ...

java中的構造方法,類方法和方法

直到很久我才意識到這幾個簡單的概念我也不認識。方法 有訪問範圍 public 預設 private protect 返回型別 void 或object或其他類 方法名 引數列表 方法體組成 格式public void test string a 類方法 類方法和方法幾乎相同,就是定義的時候多乙個st...

JAVA中構造方法和普通方法的區別

恢復內容開始 構造方法 方法名和 類名相同 在方法名的前面沒有返回值型別的宣告 在方法中不能使用return語句返回乙個值 在建立物件時,要呼叫new,如 book b1 new book 當沒有指定構造方法時,系統會自動新增無參的構造方法 當有指定構造方法時,無論該構造方法是有參,還是無參,系統都...