黑马程序员技术交流社区
标题:
现在父类和子类到底要怎样又晕了。
[打印本页]
作者:
黑马-张洋
时间:
2013-2-26 14:47
标题:
现在父类和子类到底要怎样又晕了。
package com.exam;
class C {
public C() {
aMethod();
}
public void aMethod() {
System.out.println("在c");
}
}
public class test extends C {
public void aMethod() {
System.out.println("在test");
}
public static void main(String[] args) {
new test();
}
}
复制代码
打印结果是:在test。这属于重写,我知道
但是为什么我只是new了一个test类的对象啊。事实就是还要去调用父类的构造方法?
这个理论基础是什么啊?到底为什么要这样啊
作者:
李挺
时间:
2013-2-26 14:51
在你这个例子中
子类在构造的时候肯定会使用父类的构造方法super();
因为子类继承了父类的数据,它必须知道父类是如何使用这些数据的
作者:
黑马-张洋
时间:
2013-2-26 14:55
李挺 发表于 2013-2-26 14:51
在你这个例子中
子类在构造的时候肯定会使用父类的构造方法super();
因为子类继承了父类的数据,它必须 ...
这句很关键:因为子类继承了父类的数据,它必须知道父类是如何使用这些数据的
谢谢
作者:
贾文泽
时间:
2013-2-26 15:02
子类构造对象时在子类的构造函数中第一行有个隐式的 super(); //调用父类构造方法,
所以就。。。。。你懂得
作者:
黑马17期-闫东东
时间:
2013-2-26 18:05
子类构造对象时在子类的构造函数中第一行有个隐式的 super(); //调用父类构造方法
作者:
王昕
时间:
2013-2-26 20:54
super();的问题楼上已经说了。
对象在建立的时候,都会先建立它父类的那部分,对象就像洋葱,是一层一层的,最内层都是一个Object对象,然后按照继承树从上到下一层一层建立每层的部分。
孩子不会先于他的父母出生,所以子类的部分也不会先于它父类的部分被建立。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2