永发信息网

既然子类实例初始化时会先调用父类的构造方法。我想问得是为什么java一定要这么做?

答案:2  悬赏:0  手机版
解决时间 2021-01-28 01:41
  • 提问者网友:世勋超人
  • 2021-01-27 17:56
既然子类实例初始化时会先调用父类的构造方法。我想问得是为什么java一定要这么做?
最佳答案
  • 五星知识达人网友:刀戟声无边
  • 2021-01-27 19:31
因为子类继承了父类,那么就默认的含有父类的公共成员方法和公共成员变量,这些方法和变量在子类里不再重复声明。如果你初始化子类的时候,不初始化父类,那么你通过子类调用父类方法或变量的时候会出现什么情况呢?当然就是抛异常阿!所以,Java虚拟机会在你初始化子类的时候默认的初始化子类的父类。而且是一层一层的往上递进
全部回答
  • 1楼网友:旧脸谱
  • 2021-01-27 20:54
子类要想实例化必须先实例化父类 因为子类继承父类,继承的是父类中的成员(成员变量及成员方法),要想使用父类的成员就得实例化父类,才能使用 情况一:父类有无参构造方法 java默认是会调用父类的构造方法的,在子类的构造函数中,编译器会自动的加一个super来调用父类的构造方法 情况二:父类的构造方法是带参数的,而且没有无参数的构造方法 那么在子类的构造方法中必须显式地调用父类的构造方法。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯