已有101人关注
Java从入门到精通书中 193页,习题3程序
发表在Java图书答疑 2016-01-22
是否精华
版块置顶:
public abstract class UseCase1 {
abstract void testAbstract();
UseCase1(){//(1)首先执行父类构造方法
System.out.println("before testAbstract()");
testAbstract();//如果调用了抽象方法,调用子类覆盖的方法。这里调用Atest类的testAbstract()方法
System.out.println("after testAbstarcat()");
}
public static void main(String args[]){
new Atest();
}
}
class Atest extends UseCase1{
private int i=1;//(2)使成员变量进行初始化
void testAbstract(){
System.out.println("testAbstract()"+i);
}
public Atest(){//(3)调用子类构造方法
System.out.println(i);
}
}

这个程序里面   主函数中new Atest是创建子类对象是吧,那为什么主函数中单独这个创建子类对象就的命令会开始执行上面的各个语句然后输出最终结果呢?求解释一下这个程序
分享到:
精彩评论 1
静心_mrkj
学分:0 LV1
2016-01-23
沙发
子类Atest继承了父类UseCase1,也就是说,当系统开始从主方法执行时,由于new Atest()创建了子类对象,但是并没有指明这个子类对象继承了父类的哪些属性和方法。这时系统会默认先从父类开始执行,然后再执行子类,这样就输出了所有的结果。
首页上一页 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经营性网站备案信息 营业执照