大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java學(xué)習(xí) Java面試題必知,常見Java繼承面試題

Java面試題必知,常見Java繼承面試題

更新時間:2020-08-05 15:47:43 來源:動力節(jié)點 瀏覽3314次

下面這段代碼的輸出結(jié)果是什么?

public class Test {
    public static void main(String[] args)  {
        new Circle();
    }
}
 
class Draw {
     
    public Draw(String type) {
        System.out.println(type+" draw constructor");
    }
}
 
class Shape {
    private Draw draw = new Draw("shape");
     
    public Shape(){
        System.out.println("shape constructor");
    }
}
 
class Circle extends Shape {
    private Draw draw = new Draw("circle");
    public Circle() {
        System.out.println("circle constructor");
    }
}


運行結(jié)果
shape draw constructor
shape constructor
circle draw constructor
circle constructor

父類的構(gòu)造器調(diào)用以及初始化過程一定在子類的前面。

由于Circle類的父類是Shape類,所以Shape類先進行初始化,然后再執(zhí)行Shape類的構(gòu)造器。接著才是對子類Circle進行初始化,最后執(zhí)行Circle的構(gòu)造器。

2.下面這段代碼的輸出結(jié)果是什么?

public class Test {
    public static void main(String[] args)  {
        Shape shape = new Circle();
        System.out.println(shape.name);
        shape.printType();
        shape.printName();
    }
}
 
class Shape {
    public String name = "shape";
     
    public Shape(){
        System.out.println("shape constructor");
    }
     
    public void printType() {
        System.out.println("this is shape");
    }
     
    public static void printName() {
        System.out.println("shape");
    }
}
 
class Circle extends Shape {
    public String name = "circle";
     
    public Circle() {
        System.out.println("circle constructor");
    }
     
    public void printType() {
        System.out.println("this is circle");
    }
     
    public static void printName() {
        System.out.println("circle");
    }
}


運行結(jié)果
shape constructor
circle constructor
shape
this is circle
shape
1.對于這個例子,靜態(tài)綁定的過程是:java文件編譯時,編譯器檢查出引用shape的靜態(tài)類型是Shape類,由于將printName()方法和父類Father關(guān)聯(lián)起來。也就是說,程序運行前編譯器是無法檢查出引用shape的動態(tài)類型的,所以會直接調(diào)用靜態(tài)類型中對應(yīng)的方法。

2.覆蓋只針對非靜態(tài)方法,而隱藏是針對成員變量和靜態(tài)方法的。

3.覆蓋和隱藏之間的區(qū)別是:覆蓋受RTTI約束的,而隱藏卻不受該約束。也就是說只有覆蓋方法才會進行動態(tài)綁定,而隱藏是不會發(fā)生動態(tài)綁定的。

Java面試題必知,常見Java繼承面試題

以上就是動力節(jié)點java培訓(xùn)機構(gòu)的小編針對“Java面試題必知,常見Java繼承面試題”的內(nèi)容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。

提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 在线视频一二三区2021不卡 | 中文字幕精品视频在线 | 天天骑天天干 | 四虎亚洲国产成人久久精品 | 奇米激情 | 思99热精品久久只有精品 | 99热在线观看 | 全免费午夜一级毛片真人 | 亚洲精品综合一区在线 | 51精品视频在线一区二区 | 精品久久久久久18免费看 | 国产欧美在线观看一区二区 | 久久99久久精品97久久综合 | 奇米麻豆| 99热精品在线免费观看 | 伊人久久香蕉 | 国产一区二区免费播放 | 综合久久99 | 4hu永久影院在线四虎 | 九九视频免费看 | 5g影院天天5g天天爽精品 | 狠狠综合欧美综合欧美色 | 日韩社区 | 成人毛片大全 | 99re8免费视频精品全部 | 伊人久久影院 | 好吊妞在线播放 | 国产综合亚洲精品一区 | 成人午夜视频免费看欧美 | 国产精品视频九九九 | 久久免费视频播放 | 青青青青久久精品国产h | 国产中文 | 岛国片欧美一级毛片 | 亚洲精品一区二区三区五区 | 国产成人精品免费影视大全 | 日本特级全黄一级毛片 | 亚洲最大视频网站 | 黄色小视频在线免费观看 | 亚洲国产欧洲综合997久久 | 中文字幕精品一区二区精品 |