最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java super關鍵字的用法詳解

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

super關鍵字作用:在子類內部調用父類對象

基礎語法:

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

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

super關鍵字的三種用法:

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() {
        //調用父類的成員屬性
        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() {
        //調用父類的成員方法
        super.help();
        System.out.println(this.name+"Student"); //Student this調用的式同類中的變量
    }
}
public class s {
    public static void main(String[] args) {
        Student p = new Student("Test");
        p.help();
    }
}
//Test Person
//student Student

3. super():調用父類中的構造方法

3.1.1 隱式調用父類無參數(shù)構造方法super()

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

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

//print:
//父類構造方法
//子類構造方法

3.1.2 顯式調用父類有參數(shù)構造方法super(id)

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

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

//print:
//父類構造方法
//子類構造方法

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

相關文章

  • Java核心編程之文件隨機讀寫類RandomAccessFile詳解

    Java核心編程之文件隨機讀寫類RandomAccessFile詳解

    這篇文章主要為大家詳細介紹了Java核心編程之文件隨機讀寫類RandomAccessFile,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • java中BigDecimal的使用踩坑記錄

    java中BigDecimal的使用踩坑記錄

    這篇文章主要為大家詳細介紹了java中使用BigDecimal會踩坑的地方以及相關的解決方法,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-10-10
  • SpringBoot創(chuàng)建maven多模塊項目實戰(zhàn)代碼

    SpringBoot創(chuàng)建maven多模塊項目實戰(zhàn)代碼

    本篇文章主要介紹了SpringBoot創(chuàng)建maven多模塊項目實戰(zhàn)代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • SpringBoot操作Jedis案例代碼

    SpringBoot操作Jedis案例代碼

    這篇文章主要介紹了SpringBoot操作Jedis案例代碼,代碼部分包括pom依賴、配置相關參數(shù)、JedisPool的設置,代碼簡單易懂對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-08-08
  • Spring Cloud Gateway 獲取請求體(Request Body)的多種方法

    Spring Cloud Gateway 獲取請求體(Request Body)的多種方法

    這篇文章主要介紹了Spring Cloud Gateway 獲取請求體(Request Body)的多種方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • SpringBoot整合Caffeine實現(xiàn)本地緩存的實踐分享

    SpringBoot整合Caffeine實現(xiàn)本地緩存的實踐分享

    緩存是提升系統(tǒng)性能的一個不可或缺的工具,通過緩存可以避免大部分重復的請求到數(shù)據(jù)庫層,減少IO鏈接次數(shù),提升整體的響應速率,本地緩存中比較常見的比如 Caffeine 緩存,這篇文章將結合具體的 Springboot 項目搭配 Caffeine 實現(xiàn)本地緩存的各種使用方式
    2024-07-07
  • Mybatis通過Spring完成代理類注入的流程分析

    Mybatis通過Spring完成代理類注入的流程分析

    這篇文章主要介紹了Mybatis通過Spring完成代理類注入的流程分析,本文通過實例圖文相結合給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • 基于java實現(xiàn)簡單的圖片類別識別

    基于java實現(xiàn)簡單的圖片類別識別

    這篇文章主要為大家詳細介紹了如何基于java實現(xiàn)簡單的圖片類別識別功能,文中的示例代碼講解詳細,具有一定的借鑒價值,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-12-12
  • MyBatis無縫對接Spring的方法

    MyBatis無縫對接Spring的方法

    Spring框架與MyBatis框架是Java互聯(lián)網(wǎng)技術的主流框架。那么mybatis如何無縫對接spring呢?下面通過本文給大家介紹,需要的的朋友參考下吧
    2017-09-09
  • Java計算對象大小的方法詳解

    Java計算對象大小的方法詳解

    在Java應用程序的性能優(yōu)化場景中,時常需要考慮Java對象的大小,以便觀測,本文為大家介紹了常用的Java計算對象大小的方法,感興趣的可以了解下
    2025-01-01

最新評論

洛宁县| 清涧县| 扶余县| 庆云县| 沁源县| 静海县| 剑河县| 邻水| 石泉县| 浪卡子县| 塔城市| 同心县| 米易县| 城口县| 西丰县| 贞丰县| 五台县| 封开县| 保定市| 武宁县| 临高县| 来安县| 叶城县| 进贤县| 汝州市| 德州市| 舞阳县| 惠安县| 永新县| 微山县| 安义县| 邢台县| 于田县| 靖西县| 平利县| 樟树市| 阳高县| 元朗区| 绥阳县| 化德县| 大厂|