问答详情
源自:10-1 Java 中的多态

关于类爷子孙三代的问题 ( : (我是突然发现的问题)

请看下面的图片,我分别创建了Vehicle,Auto,Auto2类,其中Auto继承Vehicle类,Auto2j继承Auto类,我在Main入口类分别创建了obj,obj2,obj3,问题来了:请看倒数第一张和第二张,Auto obj3 = new Auto2(),这样写没问题,因为我让Auto2继承Auto类,用obj3调用fun方法也没问题,但是我为什么可以把这条对象写成Aehicle obj3 = new Auto2()。为什么可以用Aegicle引用Auto2对象,Auto2没继承Aehicle啊?

http://img.mukewang.com/59a1a6c700010d8004540289.jpg

http://img.mukewang.com/59a1a6c7000168f404430309.jpg

http://img.mukewang.com/59a1a7cf0001fee004570306.jpg


http://img.mukewang.com/59a1a6c8000167ae04820711.jpg

http://img.mukewang.com/59a1a6c80001b9bf04790696.jpg


提问者:慕斯卡1730669 2017-08-27 01:08

个回答

  • qq_星河k_0
    2017-08-27 20:39:54

    建议你看看方法的重写那一章,方法重写之后,对子类的方法 具有优先作用。不是不继承.

  • Star_scream
    2017-08-27 13:31:35

    爷孙关系也是父子关系吧,或者说孙子也继承爷爷,没毛病