日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java8基础之super关键字

發布時間:2023/12/6 java 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java8基础之super关键字 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

相信學過Java語言的小伙伴都熟悉super這個關鍵字,接下來,我們來研究他的一些基礎用法吧。

定義名字為Father的類

package superkeyworld;public class Father {public String name;public int age;public Father() {}public Father(String name, int age) {this.name = name;this.age = age;System.out.println("父類構造方法調用了!");}public void sayHello() {System.out.println("你好,我是"+name);} }

super關鍵字可以調用父類構造方法

當父類沒有無參構造方法的時候,子類實例化的時候,必須顯示調用父類的構造方法。

package superkeyworld;public class Child extends Father {public Child(String name, int age) {// 必須位于第一行。super(name, age);System.out.println("子類構造方法執行了");} }

實例化Chlid類,結果如下:

父類構造方法調用了!
子類構造方法執行了!

為什么非得放在第一行?

super()之所以存在,是有很重要的原因的!因為子類與父類之間是繼承關系,而繼承就意味著得到父類中所有的成員變量和方法。既然能夠得到父類的這些成員,也就意味著子類可以訪問父類的方法和成員變量(當然,得到不意味著就可以任意使用,使用的前提是必須是有相應的訪問權限) ,如果子類在使用父類成員的時候,父類內的成員變量沒有得到正確的初始化,那么就會發生意想不到的錯誤,所以問題就出現在了這里,如何保證父類成員是安全的呢? 這就得保證父類得到了正確的初始化,而父類正確的初始化就離不開父類的構造函數,super存在的意義也正是如此。在子類的構造函數,如果沒有顯式使用super(),并且第一行沒有使用this()調用子類其他的構造函數,那么編譯器就會自動在第一行補齊super()來調用父類的默認構造函數,如果父類沒有默認的構造函數就會報錯。
super()在第一行的原因就是: 子類有可能訪問了父類的成員變量或者方法,比如在構造函數中使用父類的成員函數或者變量,在代碼塊中使用了父類的方法等, 所以為保證在子類可以訪問父類成員的正確性,所以要先完成對父類的初始化。

super關鍵字可以調用父類成員方法和成員變量(非私有)

super關鍵字可以用來訪問父類的成員方法或變量,當子類成員變量或方法與父類有相同的名字時也會覆蓋父類的成員變量或方法,這個時候要想訪問父類的成員變量或方法只能通過super關鍵字來訪問,子類方法中的super.方法名()不需要位于第一行。

package superkeyworld;public class Child extends Father {public Child(String name, int age) {// 必須位于第一行。super(name, age);System.out.println("子類構造方法執行了!");}public void sayHello() {super.sayHello();System.out.println("父親的年齡:"+super.age);System.out.println("調用父類的方法,獲取了父類的屬性!");} }

調用子類的sayHello方法結果如下:

你好,我是feige
父親的年齡:23
調用父類的方法,獲取了父類的屬性!

轉載于:https://www.cnblogs.com/feiqiangsheng/p/11106125.html

總結

以上是生活随笔為你收集整理的Java8基础之super关键字的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。