快捷导航

java继承问题

public class A {public static void main(String[] args) {        B33 b=new B33();}}class B{        public B(){                System.out.println("我是B");        }}class B2 extends B{        public B2(){                System.out.println("我是B2");        }}class B33 extends B2{        public B33(){                System.out.println("我是B33");        }}知道答案的各位能不能告诉我下怎样才能调用子类的无参构造而不会调用父类的

免责声明:本内容仅代表回答者见解不代表本站观点,请谨慎对待。

版权声明:作者保留权利,不代表本站立场。

回复

使用道具 举报

参与会员2

想法很有探索精神,但是很抱歉,据我所知是不可以的。
一定会调用,原因是这样的。
因为子类继承了父类,那么就默认的含有父类的公共成员方法和公共成员变量,这些方法和变量在子类里不再重复声明。如果你初始化子类的时候,不初始化父类,那么你通过子类调用父类方法或变量的时候会出现什么情况呢?当然就是抛异常阿!所以,Java虚拟机会在你初始化子类的时候默认的初始化子类的父类。而且是一层一层的往上递进!
你想这样调等价于继承了父类的财产又要断绝父子关系,合适吗。
回复

使用道具 举报

创建子类对象的时候,会调用构造方法,是继承关心,那么调用的顺序就是先父类,后子类,
回复

使用道具 举报

可能感兴趣的问答

发新帖
  • 微信访问
  • 手机APP