<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    談笑有鴻儒,往來無白丁

    在恰當(dāng)?shù)臅r(shí)間、地點(diǎn)以恰當(dāng)?shù)姆绞奖磉_(dá)給恰當(dāng)?shù)娜?..  閱讀的時(shí)候請注意分類,佛曰我日里面是談笑文章,其他是各個(gè)分類的文章,積極的熱情投入到寫博的隊(duì)伍中來,支持blogjava做大做強(qiáng)!向dudu站長致敬>> > 我的微博敬請收聽
    class A
    {
    ? ?public void func1()
    ? ?{
    ? ? ? System.out.println("A func1 is calling");
    ? ?}
    ? ?public void func2()
    ? ?{
    ? ? ? func1();
    ? ?}
    }
    class B extends A
    {
    ? ?public void func1()
    ? ?{
    ? ? ? System.out.println("B fun1 is calling");
    ? ?}
    }
    class C
    {
    ? ?public static void main(String [] args)
    ? ?{
    ? ? ? B b=new B();
    ? ? ? A a=b;
    ? ? ? callA(a);
    ? ? ? callA(new B());
    ? ?}
    ? ?public static void callA(A a)
    ? ?{
    ? ? ? a.func1();
    ? ? ? a.func2();
    ? ?}
    }


    運(yùn)行結(jié)果:

    D:\>javac C.java

    D:\>java C
    B fun1 is calling
    B fun1 is calling
    B fun1 is calling
    B fun1 is calling

    簡單來說,就是RTTI,動態(tài)類型判定,也就是

    B b=new B();
    A a=new B();

    只要等號右邊類型是什么類型,而且已經(jīng)覆蓋父類的方法,那么調(diào)用該方法時(shí),會自動知道相應(yīng)的B中的覆蓋方法。這是一定的,運(yùn)行時(shí)多態(tài)。

    ==================================================

    只對方法進(jìn)行動態(tài)判定,屬性的取值看,等號左邊,也就是編譯時(shí)類型。

    將A和B添加一個(gè)屬性,在索取值,看結(jié)果:

    class A
    {
    ? ?public String name = "A CLASS";
    ? ?public void func1()
    ? ?{
    ? ? ? System.out.println("A func1 is calling");
    ? ?}
    ? ?public void func2()
    ? ?{
    ? ? ? func1();
    ? ?}
    }
    class B extends A
    {
    ? ?public String name = "B CLASS";
    ? ?public void func1()
    ? ?{
    ? ? ? System.out.println("B fun1 is calling");
    ? ?}
    }
    public class C
    {
    ? ?public static void main(String [] args)
    ? ?{
    ? ? ? B b=new B();
    ? ? ? A a=b;
    ? ? ? callA(a);
    ? ? ? callA(new B());
    ? ? ?
    ? ? ?
    ? ? ? System.out.println(a.name);
    ? ? ? System.out.println(b.name);
    ? ? ? System.out.println(new B().name);
    ? ? ?

    ? ?}
    ? ?public static void callA(A a)
    ? ?{
    ? ? ? a.func1();
    ? ? ? a.func2();
    ? ?}
    }

    運(yùn)行結(jié)果:

    D:\>javac C.java

    D:\>java C
    B fun1 is calling
    B fun1 is calling
    B fun1 is calling
    B fun1 is calling
    A CLASS
    B CLASS
    B CLASS
    posted on 2007-01-05 09:53 壞男孩 閱讀(799) 評論(0)  編輯  收藏 所屬分類: java命令學(xué)習(xí)
    主站蜘蛛池模板: 日韩在线观看视频免费| 伊人久久大香线蕉亚洲五月天| 国产成人精品免费视频大| 无码精品国产一区二区三区免费| 日韩亚洲一区二区三区| 国产亚洲精品看片在线观看| 亚洲片国产一区一级在线观看| 亚洲高清国产拍精品青青草原| 四虎亚洲国产成人久久精品 | 亚洲日韩一中文字暮| 在线综合亚洲中文精品| 中国亚洲呦女专区| 亚洲a∨国产av综合av下载| 国产精品亚洲AV三区| 免费中文字幕视频| 国产免费久久精品丫丫| 国产一二三四区乱码免费| 永久免费不卡在线观看黄网站| 国产精品视频白浆免费视频| 91青青青国产在观免费影视| 麻豆一区二区免费播放网站 | 成全视成人免费观看在线看| 中文字幕无码毛片免费看| 99国产精品视频免费观看| 999久久久免费精品国产| 免费高清小黄站在线观看| 99视频有精品视频免费观看| 182tv免费观看在线视频| 成年人视频在线观看免费| 亚洲免费二区三区| 成人免费无码大片a毛片| 国产在线观看www鲁啊鲁免费| 亚洲欧洲自拍拍偷精品 美利坚 | 亚洲精品WWW久久久久久| 亚洲国产精品乱码一区二区| 亚洲美女中文字幕| 精品亚洲av无码一区二区柚蜜| 韩国免费A级毛片久久| 亚洲免费黄色网址| 免费夜色污私人影院在线观看| 亚洲日韩v无码中文字幕|