黑马程序员技术交流社区
标题:
每天睡觉都很晚
[打印本页]
作者:
刘旭升
时间:
2013-12-29 00:39
标题:
每天睡觉都很晚
class Super{
Super(){
print();
}
void print(){
System.out.println("我是父类喔!");
}
}
class Sub extends Super{
Sub(){
print();
}
void print(){
System.out.println("我只是子类方法");
}
}
class test{
public static void main(String[]args){
Super a=new Sub();
}
}
复制代码
看到安卓一个朋友遇到这样的问题,自己也解决不了,拿来请教下大家。
上面的程序打印是:
我只是子类方法
我只是子类方法
我就想问问了,父类构造方法在执行时,怎么就取得了子类中的引用呢?(能调用子类中的方法)
作者:
刘旭升
时间:
2013-12-29 01:19
一定能进,还有三次机会。
作者:
胡永城
时间:
2013-12-29 08:32
http://bbs.itheima.com/thread-102602-1-1.html
很短,看完你就懂了
作者:
Zenith
时间:
2013-12-31 13:36
首先先说下程序的执行顺序,在程序中没有static时,就是父类属性 父类方法 子类属性 子类方法的顺序执行.那么你这个程序在执行子类无参构造时首先去执行父类的无参构造.而父类的print()调用被子类复写,所以输出第一次的"我只是子类方法".然后走子类的平日print(),调用自己的方法 输出第二次的"我只是子类方法"..
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2