java子类继承父类问题
求解释! 虽然做了几年的开发
但确实不明白为什么?
[code="java"]
class Foo {
public int a;
public Foo() { a = 3; }
public void addFive() { a += 5; }
}
public class Bar extends Foo{
public int a;
public Bar() { a = 8; }
public void addFive() { this.a +=5; }
public static void main(String[] args) {
Foo foo = new Bar();
foo.addFive();
System.out.println("Value: "+ foo.a);
}
}
[/code]
结果为什么输出的是3
可以试下~
求解释
[b]问题补充:[/b]
看到楼下的很多朋友的回答
我之前也是这么认为的
与java得多态有关 方法可以多态重载,但属性不能
假设这样设想 我想得到结果是
在父类的属性a的值的基础上 让其用子类的加法进行呢?
如何实现呢?
[code="java"]
public int addFive() {
super.a += 5;
}
[/code]
就可以了