已有101人关注
java关于多态的问题
发表在Java图书答疑 2014-01-27
是否精华
版块置顶:
我写了一个程序如下:
package 编程第二十步;
class Animal{
public  Animal(){
System.out.println("jiao");
}
}
class Dog extends Animal{
public  Dog(){
System.out.println("wangwang");
}
}


public class Dongtaibangding {
public static void main(String[] args){
Animal a=new Dog();
new Animal();
}

}
然后运行结果是
jiao
wangwang
jiao
我很不理解的是结果的前面两个是jiao然后是wangwang,根据动态绑定的原理我的引用a(引用类型是Animal),因为重写了构造方法的缘故,当运行是应该只输出wangwang啊,怎么会有两个呢(先jiao然后wangwang)
分享到:
精彩评论 1
无语_mrkj
学分:3155 LV11
2014-01-28
沙发
这个结果是正确的。因为一个类继承一个父类时,当实例化子类的时候,先执行父类的构造方法(输出jiao),然后再执行子类的构造方法(输出wangwang)。
首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照