Java super關鍵字、隱藏(static method+Filed)

  • (提醒)成員變量和靜態方法出現在子類中,我們一般稱之為隱藏,請看下面的代碼,不要被子類中“覆寫”的靜態方法所迷惑。
  • 其實成員變量(無論是靜態、實例、任何訪問權限)、靜態方法、私有方法都是靜態綁定。
package cn.jxau.yuan.sharWeb;

/**
 * Created by 編程只服JAVA on 2017.06.06.
 */
public class ExtendsTest {
    int weight = 121;
    static void show(){
        System.out.println("Father");
    }
}

class Sub extends ExtendsTest{
    int weight = 123;

    /**
     * 父類中的成員變量和靜態方法出現在子類中,我們一般稱之為隱藏
     */
    static void show(){
        System.out.println("son");
    }

    public static void main(String[] args) {
        ExtendsTest extendsTest = new Sub();
        System.out.println("向上轉型進行調用:.......");
        extendsTest.show();
        System.out.println(extendsTest.weight);
        System.out.println("直接調用:...............");
        Sub sub = new Sub();
        sub.show();
        System.out.println(sub.weight);
    }
}

運行結果:

image.png

super:某老師

  • super關鍵字:表示父類的綁定特征

  • 通過super到子類所繼承的父類中找到與父類綁定的屬性和方法
    語法:super.父類中的屬性or方法

  • super用于調用父類中定義的屬性和成員方法
    覆蓋的方法都是跟子類綁定的,所以找不到與父類動態綁定的私有屬性,所以需要通過super關鍵字找到父類靜態綁定的方法和動態綁定的屬性
    PS:super不能出現在靜態方法里,因為靜態方法都是通過類調用的,不能接收this指針

  • super在構造方法的作用:

  • 通過super來顯示指定調用父類的哪個構造方法,同時給該構造方法傳參數

  • 語法:如果要顯示調用父類的某個構造方法,就必須放在子類構造方法的第一句并且傳進對應的參數,只能寫一條!

子類構造方法(String name){
    Super(name);//就會找父類的參數簽名為String的構造方法,把this指針傳給該構造方法
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,760評論 18 399
  • (一)Java部分 1、列舉出JAVA中6個比較常用的包【天威誠信面試題】 【參考答案】 java.lang;ja...
    獨云閱讀 7,141評論 0 62
  • 20- 枚舉,枚舉原始值,枚舉相關值,switch提取枚舉關聯值 Swift枚舉: Swift中的枚舉比OC中的枚...
    iOS_恒仔閱讀 2,313評論 1 6
  • 1、.java源文件: 一個以”.java“為后綴的源文件:只能有一個與文件名相同的類,可以包含其他類。 2、類方...
    Hughman閱讀 1,518評論 1 9
  • 我的二大爺今年86歲,有可能要做頸動脈介入手術。 老爺子平和心態面對。積極樂觀的生活方式、琴棋書畫唱無不精通,科學...
    丙由甲桂花兒閱讀 143評論 0 0