class Test
{
static void print()
{
System.out.println("Test");
}
}
class TestDemo extends Test
{
static void print()
{
System.out.println("TestDemo");
}
public static void main(String[]args)
{
Test t=new TestDemo()
t.print();
}
}得到的结果是"Test",请问为什么??
如果把static 去掉,结果为"TestDemo",既然t指向了TestDemo,应该访问TestDemo的Print();
{
static void print()
{
System.out.println("Test");
}
}
class TestDemo extends Test
{
static void print()
{
System.out.println("TestDemo");
}
public static void main(String[]args)
{
Test t=new TestDemo()
t.print();
}
}得到的结果是"Test",请问为什么??
如果把static 去掉,结果为"TestDemo",既然t指向了TestDemo,应该访问TestDemo的Print();
而其他方法都是后绑定,要到运行时根据引用所指的具体对象来调用.