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

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

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

    我的漫漫程序之旅

    專注于JavaWeb開發
    隨筆 - 39, 文章 - 310, 評論 - 411, 引用 - 0
    數據加載中……

    上海群碩軟件公司的一道Java筆試題

    原題地址:點擊查看
    要求是寫出結果,并說明為什么。
    據回憶程序是這樣的:
    package org;

    public class Test
    {

        
    public static void main(String[] args)
        
    {
            A a 
    = new B();
            a.print();
        }


    }


    class A
    {
        
    private int i = 1;
        
    public A()
        
    {
            
    int i = 2;
        }

        
        
    public void print()
        
    {
            System.out.println(
    "The result is:" + i);
        }

    }


    class B extends A
    {
        
    private int i = 3;
        
        
    public B()
        
    {
            
    int i = 6;
        }

        
        
    public void print()
        
    {
            System.out.println(
    "The result is:" + i);
        }

    }

    輸出結果是:3
    此題考查的是多態.
    在這里是父類的引用指向子類的對象.
    父類的引用只能訪問子類和父類共有的
    方法.
    這個程序我通過Eclipse和Debug程序觀察它的
    執行順序是這樣的:
    package org;

    public class Test
    {

        
    public static void main(String[] args)
        
    {
            A a 
    = new B();
            a.print();
        }


    }


    class A
    {
        
    //3
        private int i = 1;
        
    //2
        public A()
        
    {
            
    //4
            int i = 2;
        }

        
        
    public void print()
        
    {
            System.out.println(
    "The result is:" + i);
        }

    }


    class B extends A
    {
        
    //5
        private int i = 3;
        
    //1
        public B()
        
    {
            
    //6
            int i = 6;
        }

        
        
    public void print()
        
    {
            System.out.println(
    "The result is:" + i);
        }

    }


    現在將程序稍微改動一下:
    package org;

    public class Test
    {

        
    public static void main(String[] args)
        
    {
            A a 
    = new B();
            a.print();
        }


    }


    class A
    {
        
    //3
        private int i = 1;
        
    //2
        public A()
        
    {
            
    //4
            int i = 2;
        }

        
        
    public void print()
        
    {
            System.out.println(
    "The result is:" + i);
        }

    }


    class B extends A
    {
        
    //5
        private int i = 3;
        
    //1
        public B()
        
    {
            
    //6
            int i = 6;
        }

        
        
    public void print2()
        
    {
            System.out.println(
    "The result is:" + i);
        }

    }


    這時輸出結果就是1了.
    因為父類的引用無法訪問子類獨有的方法.

    posted on 2007-12-09 15:54 々上善若水々 閱讀(2097) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
    博客園   IT新聞   Chat2DB   C++博客   博問  
     
    主站蜘蛛池模板: 亚洲香蕉免费有线视频| 欧洲人成在线免费| 亚洲色大成网站www尤物| 亚洲Av无码一区二区二三区| 男人天堂2018亚洲男人天堂| 免费看又黄又爽又猛的视频软件| 黄色网站软件app在线观看免费 | 亚洲av日韩av无码黑人| 亚洲人成网77777亚洲色| 亚洲综合免费视频| 特级毛片A级毛片免费播放| 在线日本高清免费不卡| 国产一区二区三区在线观看免费 | 毛片免费在线视频| 亚洲线精品一区二区三区 | 免费又黄又硬又爽大片| 亚洲国产av高清无码| 中文字幕无线码中文字幕免费| 69天堂人成无码麻豆免费视频| 少妇亚洲免费精品| 久久综合久久综合亚洲| 国产a级特黄的片子视频免费 | 黄床大片30分钟免费看| 一本久久a久久精品亚洲| 亚洲欧美成人av在线观看| 日韩视频在线观看免费| 亚洲三级视频在线观看| 国产成人精品免费视频大全五级| 亚洲最大视频网站| 久久精品国产免费| 一本色道久久综合亚洲精品高清 | 亚洲熟妇无码八AV在线播放| 91老湿机福利免费体验| 亚洲av永久无码| 18禁成人网站免费观看| 亚洲日本在线电影| 亚洲精品你懂的在线观看| 一级一黄在线观看视频免费| 高清国语自产拍免费视频国产| 亚洲欧洲国产成人精品| 亚洲av麻豆aⅴ无码电影|