子类自己没有定义构造器,就会调用父类默认的构造器,而当一个类没有声明继承哪一个类时,jvm默认它继承object类,那么它就要调用object的默认构造方法,是这样吗?
希望诸位给提个醒。
希望诸位给提个醒。
解决方案 »
- java logger输出日志中文显示乱码
- notify()是随机唤醒里面中的一个线程还是队列里面的第一个线程
- PhantomReference的应用时机?
- java牛人看过来,请问这段程序的输出结果是什么啊
- 各位,谁知道在SWT或jface中实现类似DELPHI中DataGird的控件,就是常用来显示表格数据的样子的控件是啥?
- 关于包的问题,我不会
- 怎样用java语言编程,修改注册表
- Java i/o相关文章中的“输入流”“输出流”到底相对什么而言?
- 帮忙看一下:JPopupMenu.add(action a)问题
- Java盲请教。[给分]
- 好难,把重叠的球分开?
- 一段代码,问几个菜鸟问题,已经标注出来了。
是的子类自己没有定义构造器:
默认 public AA(){
super();}
class A{
public A(){
System.out.println("construct A!");
}
}
class B extends A{
}
public class Test1 { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
B b = new B();
}}运行结果:construct A!
其实你自己的说法也是对的。
如果子类重写了默认构造器,那么,调用自己重写后的无参构造器
如果子类没重写默认构造器,那么新建对象时,调用object默认构造器
当新建对象,调用重载后的构造器时,调用重载构造器
jvm只执行编译后的字节码,是不会默认类继承Object的。