JAV——super、this關(guān)鍵字

一、this關(guān)鍵字

1 this關(guān)鍵字代表當前對象,即代指調(diào)用this所在方法的對象

2 this關(guān)鍵字的使用

當局部變量和成員變量重名的時候,可以考慮使用this來區(qū)分

3 this關(guān)鍵字的特點

a. 成員變量和局部變量重名的時候使用this

b. 創(chuàng)建任何一個對象時都會創(chuàng)建一個this引用并和對象指向同一個堆區(qū)的空間

c. this代表當前對象,可以理解為誰調(diào)用了this所在的方法,this就是誰

d. this只能夠出現(xiàn)在類的內(nèi)部

e. 默認訪問類的成員都可以使用this來訪問,如果訪問成員沒有書寫this,默認系統(tǒng)會加上this

4 代碼演示

public class ThisDemo {

public static void main(String[] args) {

Person s=new Person();//在Person類中創(chuàng)建s對象

s.display(10); // 使用 s 對象調(diào)用show()方法

}

}

class Person{

int age;

public void display(int age){

this.age=age; //當s對象調(diào)用show()方法時,this就代指s對象,所以this.age就等同于為s.age

}

}

二 、super關(guān)鍵字

1 super關(guān)鍵字的概念:的本質(zhì)是父類存儲空間的標識,可以理解為父類對象

2 super關(guān)鍵字的作用:幫助子類初始化父類繼承下來的成員,簡化編程

3 super關(guān)鍵字的用法:

①訪問成員變量:super.成員變量;

②訪問成員方法:super.成員方法;

③訪問構(gòu)造方法:super(參數(shù)列表);

4 注意事項

注意:

a 任何一個類的無參或者帶參構(gòu)造方法的第一句都默認省略 super();

b 任何一個類都直接或者間接繼承自O(shè)bject類

c 創(chuàng)建一個子類對象默認會去調(diào)用父類的構(gòu)造方法

d 靜態(tài)環(huán)境/靜態(tài)上下文(static修飾的方法),不能夠出現(xiàn)this和super

e super必須出現(xiàn)在構(gòu)造方法的第一句

f this和super不能夠共存

5 代碼演示

class practic4 {

public static void main(String[] args) {

Son s=new Son(“張三”,18); // 創(chuàng)建s對象,訪問父類帶參構(gòu)造并給父類成員變量賦初始值

}

}

class Father {

String name;

int age;

Father() {

super();

}

Father(String name, int age) { //通過父類的帶參構(gòu)造方法給繼承到子類的成員變量賦值(初始化)

this.name = name;

this.age = age;

}

}

class Son extends Father {

Son() {

super();

}

Son(String name, int age) { //創(chuàng)建對象時訪問該構(gòu)造方法

super(name,age); // 此處訪問父類帶參構(gòu)造方法

}

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容