您的位置:首页 > 编程语言 > Java开发

java中this()和super()在子类构造函数中不能共存的原因

2014-12-14 22:16 387 查看
本人只是java初学者,第一次发文章,希望大家提出质疑道出不足,这样,我的目的就达到了。

如下所示,编译出错

class A{

int a;

A(){

this.a=1;

}

A(int a){

this.a=a;

}

}

class B extends A{

B(){

super(2);

this(1);

}

B(int a){

super();

}

public static void main(String[] args){

newB();

}

}

但如果super()和this()同时出现是合法的



那么a就被初始化两次,到底a是等于1还是等于2呢,若a是重要信息,显然是不安全的

即使程序按顺序来加载(先加载super(2)再this(1),a=1),那么super(2)岂不是多此一举。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐