这可能是一个基本问题,但请任何人回答。 我们知道静态成员属于类,因此可以使用类名来调用它们。但是在下面的示例中,我们使用引用调用了静态方法。
class One
{
static void show()
{
System.out.println("one");
}
}
class Two extends One
{
static void show()
{
System.out.println("Two");
}
}
public class RuntimePoly
{
public static void main(String[] args)
{
One o=new Two();
o.show();
}
}
我得到正确的输出。
答案 0 :(得分:0)
静态方法仍然是一种方法。
来自维基百科:
面向对象编程(OOP)中的方法是与消息和对象相关联的过程
从某种意义上说,它是静态的,实际上它并没有使用与之关联的对象,但是仍然是“与一个对象关联的过程”。静态调用A.b()
也可以写为((A) null).b()
(在Java中),因为实例从未使用过,并且更清晰地显示了该方法的解析位置。