当前位置: 代码迷 >> J2SE >> 子类继承父类后,子类访问父类属性解决方法
  详细解决方案

子类继承父类后,子类访问父类属性解决方法

热度:129   发布时间:2016-04-23 19:47:04.0
子类继承父类后,子类访问父类属性
一个新手问题。。搜索了好久没找到答案。。。


public class Fighter {
 public int role=5;
}



一个类继承了它


public class Card extends Fighter {
public Card(){
role=3;
System.out.println(super.role);//为何这句话输出的是3而不是5??
}


子类构造函数中对role进行操作,然后输出语句为何输出的是3而不是5?



public class Card extends Fighter {
public int role;
public Card(){
role=3;
System.out.println(super.role);//输出5
}


为何覆盖了role属性之后 输出就正确了。
------解决思路----------------------
我现在看到新帐号并且还是qqXXXX的就怕了,,,直觉告诉我不会结贴

子类继承父类后,就拥有了父类所有成员,当子类中没有和父类同名的属性时,this.role还是super.role 都是一个东西。
属性不能被重写也不能被覆盖,不过这也是相对的。 当子类中有和父类中同名的属性时,this.role调用本类的role属性,super.role调用父类的role属性。
  相关解决方案