您好,登錄后才能下訂單哦!
本文小編為大家詳細(xì)介紹“Java super關(guān)鍵字怎么使用”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“Java super關(guān)鍵字怎么使用”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。
我們可以通過super關(guān)鍵字來實(shí)現(xiàn)對父類成員的訪問,用來引用當(dāng)前對象的父類。
用于訪問父類的屬性,方法,構(gòu)造器
我們來演示以下子類調(diào)用父類的屬性,方法和構(gòu)造器
父類:
/** * super關(guān)鍵字演示父類 */ public class SuperFather { public int n1 = 100; int n2 = 110; protected int n3 = 120; private int n4 = 130; public void say() { System.out.println("我是公開的方法"); } protected void show() { System.out.println("我是受保護(hù)的方法"); } private void can() { System.out.println("我是私有方法"); } }
子類:
/** * super關(guān)鍵字演示子類 */ public class SuperSon extends SuperFather { public void test() { // 訪問父類的屬性,不能訪問父類的私有屬性 System.out.println(super.n1 + super.n2 + super.n3); // 訪問父類的方法,同樣不能訪問父類的私有方法 super.say(); super.show(); } public SuperSon() { // 訪問父類的構(gòu)造器 // 訪問無參構(gòu)造 super(); } }
子類訪問父類的方法,子類與父類方法無重名:
父類:
public void sum() { System.out.println("我是sum功能!"); }
子類:
// 本類中沒有sum方法,則去父類中找sum方法,父類沒有則找爺爺類 sum(); super.sum(); // 通過這種方法也可以訪問哦,這種方法會跳過本類的查找直接在父類中查找
子類訪問父類的方法,子類與父類方法有重名:
這種情況,子類想要訪問父類的方法,只能通過super關(guān)鍵字來訪問:
父類:
public void cal() { System.out.println("我是父類的cal功能 !"); }
子類:
public void cal() { System.out.println("我是子類的cal功能!"); } public void test() { // 子類和父類重名的方法 super.cal(); }
屬性的訪問規(guī)則同方法
super關(guān)鍵字:我們可以通過super關(guān)鍵字來實(shí)現(xiàn)對父類成員的訪問,用來引用當(dāng)前對象的父類。
this關(guān)鍵字:指向自己的引用。
下面用代碼直觀的展示下二者的區(qū)別
// 父類 public class Person { public String name = "小鹵蛋"; public void print(){ System.out.println("Person"); } } // 子類 public class Student extends Person{ private String name = "魯班七號"; public void test(String name){ // 輸出name的方法 System.out.println(name); System.out.println(this.name); System.out.println(super.name); } public void print(){ System.out.println("Student"); } public void test2(){ // 輸出方法 print(); this.print(); super.print(); } } // main方法 public static void main(String[] args) { Student student = new Student(); student.test("魯班七號"); student.test2(); }
讀到這里,這篇“Java super關(guān)鍵字怎么使用”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點(diǎn)還需要大家自己動手實(shí)踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。