国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

java super關鍵字知識點詳解

瀏覽:3日期:2022-08-18 09:56:34

在對一些父類的調用上,我們需要借助java中的關鍵字使用,這就是super關鍵字,可以歸納為三種方法:作用于類、方法名和構造函數(shù)??梢园阉醋鍪鞘褂酶割惖囊粋€工具,相信大家在之前類的使用中有所接觸。下面我們就super的說明、三種用法、注意事項進行說明,然后在實例中體會用法。

1.說明

super相當于是指代當前的對象的父類,調用父類的屬性、方法和構造方法

2.用法

(1)super.變量/對象名;

使用這種方法可以直接訪問父類中的變量或對象,進行修改賦值等操作

(2)super.方法名();

直接訪問并調用父類中的方法

(3)super();

調用父類的初始化方法,其實就是調用父類中的public xxx()方法,通常第三種指代的是super()的省略寫法,系統(tǒng)會默認添加此句。

特殊情況:如果父類沒有無參的構造函數(shù),所以子類需要在自己的構造函數(shù)中顯示的調用父類的構造函數(shù),即不能使用系統(tǒng)默認的“super()”,而需要顯性寫出super(xxx)

3.注意事項

(1)表示調用父類的構造函數(shù)。也是一個特殊語法,不是變量,沒有什么類型。

(2)可以在一個類的非static成員內部使用。比如super.method()。

但是,注意,這個super.method()只是長得跟some_var.method()一樣,一個語法糖而已。實質上,'super'根本不是一個變量。

(3)super的另外一個作用是調用父類的protected函數(shù)。只有通過'super'這個魔咒,我們才能操作父類的protected成員,別無它法。

4.實例

class Person{ private String name; private int age; public Person(String name){ this.name = name; } public Person(String name, int age){ this(name); //this調用構造方法必須放在第一行,這里這樣寫是為了避免代碼重復 this.age = age; } public Person(){ System.out.println('1.Person類的構造方法'); }}class Student extends Person{ private String school; public Student(){ super('yy'); System.out.println('Student類的構造方法'); } public Student(String school){ this(); //super('yy'); //對super的調用必須在構造方法的第一行 System.out.println('2.Student類的構造方法'); }}public class Day6{ public static void main(String[] args){ Student stu = new Student('beida'); }}

知識點擴展:

java Super 用法詳解

1)有人寫了個很好的初始化屬性的構造函數(shù),而你僅僅想要在其中添加另一些自己新建屬性的初始化,這樣在一個構造函數(shù)中調用另外一個構造函數(shù),可以避免重復的代碼量,減少工作量;

2)在一個構造函數(shù)中調用另外一個構造函數(shù)的時候應該用的是同一塊內存空間,在默認的構造函數(shù)中先初始化變量,調用另一個的時候覆寫已經初始化的變量的值;

3)整個調用的過程和遞歸調用函數(shù)有點類似,不斷充氣球,直到整個氣球膨脹起來,不斷的深層遞進,遇到停止標記,逐層的跳出來。

到此這篇關于java super關鍵字知識點詳解的文章就介紹到這了,更多相關java super關鍵字是什么內容請搜索好吧啦網以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
主站蜘蛛池模板: 根河市| 莱芜市| 巴马| 图片| 鹤庆县| 锡林浩特市| 湟源县| 乌审旗| 卓尼县| 阿坝| 黄龙县| 和林格尔县| 张掖市| 西乡县| 西盟| 开平市| 乃东县| 伊川县| 文山县| 三明市| 肇庆市| 博罗县| 中宁县| 龙泉市| 嵊州市| 焦作市| 漳平市| 荆门市| 永修县| 怀柔区| 巴彦淖尔市| 怀柔区| 安仁县| 肇东市| 镇原县| 山西省| 吉水县| 定远县| 冀州市| 大新县| 台南市|