class DuoTai {
public static void main(String[] args)
{
A a = new B();
//刚看这个代码,我感觉输出的是B 10
//再一看,你定义的是静态的方法,你要明确一点,静态访问是不需要创建对象的
//可以直接通过类名访问的,所以在重写中,静态方法虽然形式上被重写,但内在并没有重写
a.f();
System.out.println(a.x);
}
}
class A
{
int x=10;
public static void f()
{
System.out.println("A");
}
}
class B extends A
{
int x=20;
public static void f()
{
System.out.println("B");
}
}
|