当前位置: 代码迷 >> J2SE >> 关于继承~解决方案
  详细解决方案

关于继承~解决方案

热度:69   发布时间:2016-04-23 19:58:43.0
关于继承~
class SuperClass {
private int number;
public SuperClass() {
this.number = 0;
}
public SuperClass(int number) {
this.number = number;
}
public int getNumber() {
number++;
return number;
}
}
public class SubClass extends SuperClass {
private int number;
public SubClass(int number) {
super(number);
}
public int getNumber() {
number++;
return number;
}
public static void main(String[] args) {
SuperClass s = new SubClass(20);
System.out.println(s.getNumber());
}
}
输出结果为何是1。。
------解决思路----------------------
属性没有重写,名字只能代表编程角度的命名一样,其实会继承。楼主这样试试:

public int getNumber() {
    
        number++;
        return super.number;
    }

当然要改下父类 number 作用域
------解决思路----------------------
你想要什么输出结果?
------解决思路----------------------
你输出的是子类的number   因为没有初始化,int类型默认为0,加1输出了1
  相关解决方案