为了账号安全,请及时绑定邮箱和手机立即绑定

Java继承中的加载顺序问题!大神快来

Java继承中的加载顺序问题!大神快来

犯罪嫌疑人X 2018-12-06 22:42:50
[code=java]    public class test1 {           static class a {            int x = 999;            int y = 999;            {                System.out.println("a--父类非静态方法");            }            static {                System.out.println("a--父类静态方法");            }            public a() {                System.out.println("a--执行a类无参构造方法");                print();            }            public a(int x) {                System.out.println("a--执行父类有参构造方法");            }            public void print() {                System.out.println("a--我是父类的打印方法");            }        }        static class b extends a {            int x = 1;            int y;            {                System.out.println("b--子类非静态方法");            }            static {                System.out.println("b--子类静态方法");            }            public b() {                System.out.println("b--执行b类无参构造方法");                //y = -1;            }            public b(int x) {                System.out.println("b--执行子类有参构造方法");            }            public void print() {                System.out.println("b--在子类中调用父类的super方法");                super.print();                System.out.println("b--我是子类的打印方法");            }        }        public static void main(String[] args) {            // TODO Auto-generated method stub            int x = 0;            new b(x);            //a.print();        }    }[/code][img=http://img.bbs.csdn.net/upload/201702/20/1487586057_405102.jpg][/img]为什么创建一个有参数的子类对象时,一定要调用到父类的无参数构造方法?当我把父类的无参数构造方法去掉时,编译器会报错,除了添加父类无参数构造方法解决,好像还可以用super这个解决,怎么解决?
查看完整描述

4 回答

?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

你好,这个除了增加父类无参构造方法外,可以增加父类的有参数构造方法然后用super(加参数)调用,因为 在子类初始化的时候 子类的无参构造方法都会隐含着一个super()就是调用了父类的构造器。子类必须调用父类其中一个构造器。初始化父类

查看完整回答
反对 回复 2018-12-16
?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

在a的无参构造方法中的print()为什么会调用子类的print方法

查看完整回答
反对 回复 2018-12-16
?
Helenr

TA贡献1780条经验 获得超3个赞

我这个new的是子类的有参对象啊,不会用到子类的无参构造方法吧

查看完整回答
反对 回复 2018-12-16
  • 4 回答
  • 0 关注
  • 526 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信