为什么方法能实现多态,变量就不行呢?调用方法a.fn()打印的20,是调用的B类中的方法,但是a.x却是10,是A类中的变量,不明白. class A { int x=10; void fn() { System.out.println(x); } } class B extends A { int x=20; void fn() { System.out.println(x); } } class Test { public static void main(String []args) { B b=new B(); A a=b; System.out.println(a.x); a.fn(); } }
class A
{
int x=10;
void fn()
{
System.out.println(x);
}
}
class B extends A
{
int x=20;
void fn()
{
System.out.println(x);
}
}
class Test
{
public static void main(String []args)
{
B b=new B();
A a=b;
System.out.println(a.x);
a.fn();
}
}