亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java super關(guān)鍵字的用法詳解

 更新時間:2021年11月26日 10:21:29   作者:Emperor10  
在JAVA類中使用super來引用父類的成分,用this來引用當前對象,如果一個類從另外一個類繼承,我們new這個子類的實例對象的時候,這個子類對象里面會有一個父類對象。怎么引用里面的父類對象呢?用super來引用,this指當前對象的引用,super是當前對象里面的父對象的引用

super關(guān)鍵字作用:在子類內(nèi)部調(diào)用父類對象

基礎(chǔ)語法:

1.在類的繼承中,當子類繼承了父類, 在構(gòu)造子類的時候,一定要先幫助父類進行構(gòu)造;

2. 調(diào)用super()必須寫在子類構(gòu)造方法的第一行,以保證在執(zhí)行任何動作前,對象已經(jīng)完成了初始化,否則編譯不通過。每個子類構(gòu)造方法的第一條語句,都是隱含地調(diào)用super(),如果父類沒有這種形式的構(gòu)造函數(shù),那么在編譯的時候就會報錯。

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

1. super.成員變量

class Person{
    public String name; //成員變量
    public Person(String name) {
        this.name = name;
    }
}
class Student extends Person{
    String name = "student";
    public Student(String name) {
        super(name);
    }
    public void help() {
        //調(diào)用父類的成員屬性
        System.out.println(name); //student 直接使用,優(yōu)先使用局部變量
        System.out.println(super.name); // B 直接使用父類的成員變量
    }
}
public class s {
    public static void main(String[] args) {
        Student p = new Student("B");
        p.help();
    }
}

2. super.成員方法

class {
    public String name;
    public Person(String name) {
        this.name = name; //Test
    }
    public void help() {
        System.out.println(this.name+"Person");
    }
}
class Student extends Person{
    String name = "student";
    public Student(String name) {
        super(name); //Test
    }
    public void help() {
        //調(diào)用父類的成員方法
        super.help();
        System.out.println(this.name+"Student"); //Student this調(diào)用的式同類中的變量
    }
}
public class s {
    public static void main(String[] args) {
        Student p = new Student("Test");
        p.help();
    }
}
//Test Person
//student Student

3. super():調(diào)用父類中的構(gòu)造方法

3.1.1 隱式調(diào)用父類無參數(shù)構(gòu)造方法super()

如果父類是無參構(gòu)造,那么子類的構(gòu)造方法會默認隱式的在第一行先調(diào)用父類無參數(shù)構(gòu)造方法,所以super()無需手動進行調(diào)用;

public class Father{
    int id;
    public Father(){
        System.out.println("父類構(gòu)造方法");
    }
}
public class Son extends Father{
    public Son(){
    	//super(); //系統(tǒng)會默認生成,可有可無
        System.out.println("子類構(gòu)造方法");
    }
}
public class Test{
    public static void main(String[] args){
        Son s = new Son();
    }
}

//print:
//父類構(gòu)造方法
//子類構(gòu)造方法

3.1.2 顯式調(diào)用父類有參數(shù)構(gòu)造方法super(id)

如果父類是含參構(gòu)造,那么此時因為父類中沒有無參數(shù)構(gòu)造方法,所以子類繼承父類時會報錯,這時就需要我們手動的調(diào)用父類的有參構(gòu)造方法super(id);

public class Father{
    int id;
    public Father(int id){
        System.out.println("父類構(gòu)造方法");
    }
}
public class Son extends Father{
    public Son(int id){
    	super(id); //手動調(diào)用父類的有參構(gòu)造方法
        System.out.println("子類構(gòu)造方法");
    }
}
public class Test{
    public static void main(String[] args){
        Son s = new Son(1);
    }
}

//print:
//父類構(gòu)造方法
//子類構(gòu)造方法

到此這篇關(guān)于Java super關(guān)鍵字的用法詳解的文章就介紹到這了,更多相關(guān)Java super內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 基于SpringBoot解決CORS跨域的問題(@CrossOrigin)

    基于SpringBoot解決CORS跨域的問題(@CrossOrigin)

    這篇文章主要介紹了基于SpringBoot解決CORS跨域的問題(@CrossOrigin),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • java equals函數(shù)用法詳解

    java equals函數(shù)用法詳解

    java 中equals函數(shù)的使用方法是廣大java愛好者所關(guān)心的一個話題,本文將詳細介紹其使用方法,需要了解的朋友可以參考下
    2012-11-11
  • Servlet和Filter之間的區(qū)別與聯(lián)系

    Servlet和Filter之間的區(qū)別與聯(lián)系

    這篇文章主要介紹了Servlet和Filter之間的區(qū)別與聯(lián)系的相關(guān)資料,需要的朋友可以參考下
    2016-05-05
  • 解決spring 處理request.getInputStream()輸入流只能讀取一次問題

    解決spring 處理request.getInputStream()輸入流只能讀取一次問題

    這篇文章主要介紹了解決spring 處理request.getInputStream()輸入流只能讀取一次問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • ThreadLocal原理介紹及應用場景

    ThreadLocal原理介紹及應用場景

    本文詳細講解了ThreadLocal原理介紹及應用場景,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-12-12
  • java 字符串相減(很簡單的一個方法)

    java 字符串相減(很簡單的一個方法)

    本篇文章是對java中關(guān)于字符串相減的一個簡單的方法進行了介紹,需要的朋友參考下
    2013-07-07
  • 詳解Java實踐之建造者模式

    詳解Java實踐之建造者模式

    建造者模式是將一個復雜的對象的構(gòu)建與它的表示分離,使得同樣的構(gòu)建過程可以創(chuàng)建不同的表示。它隱藏了復雜對象的創(chuàng)建過程,它把復雜對象的創(chuàng)建過程加以抽象,通過子類繼承或者重載的方式,動態(tài)的創(chuàng)建具有復合屬性的對象
    2021-06-06
  • java實現(xiàn)郵件發(fā)送

    java實現(xiàn)郵件發(fā)送

    這篇文章主要為大家詳細介紹了java實現(xiàn)郵件發(fā)送,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • SpringBoot快速整合SpringSecurity的詳細步驟(新手都會!)

    SpringBoot快速整合SpringSecurity的詳細步驟(新手都會!)

    日 Spring Security 是針對Spring項目的安全框架,也是Spring Boot底層安全模塊默認的技術(shù)選型,他可以實現(xiàn)強大的Web安全控制,下面這篇文章主要給大家介紹了關(guān)于SpringBoot快速整合SpringSecurity的詳細步驟,需要的朋友可以參考下
    2023-03-03
  • 詳解java調(diào)用存儲過程并封裝成map

    詳解java調(diào)用存儲過程并封裝成map

    這篇文章主要介紹了詳解java調(diào)用存儲過程并封裝成map的相關(guān)資料,希望通過本文能幫助到大家實現(xiàn)這樣的功能,需要的朋友可以參考下
    2017-09-09

最新評論