java super關鍵字知識點詳解
在對一些父類的調用上,我們需要借助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ù)中先初始化變量,調用另一個的時候覆寫已經(jīng)初始化的變量的值;
3)整個調用的過程和遞歸調用函數(shù)有點類似,不斷充氣球,直到整個氣球膨脹起來,不斷的深層遞進,遇到停止標記,逐層的跳出來。
到此這篇關于java super關鍵字知識點詳解的文章就介紹到這了,更多相關java super關鍵字是什么內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
springboot+thymeleaf找不到視圖的解決方案
這篇文章主要介紹了springboot+thymeleaf找不到視圖的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06
mybatis spring配置SqlSessionTemplate的使用方式
這篇文章主要介紹了mybatis spring配置SqlSessionTemplate的使用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08
Java throw Exception實現(xiàn)異常轉換
這篇文章主要介紹了Java throw Exception實現(xiàn)異常轉換,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-04-04

