在java中(非)static方法等的覆盖问题?

来源:百度知道 编辑:UC知道 时间:2024/06/05 01:18:16
static方法可否在子类中覆盖为非static的。
非static方法可否在子类中覆盖为static的。

同样对于static变量、非static变量又有什么规定呢?

都不能,给你个例子自己编译一下试试就知道了。
class Parent
{
public void nonStaticMethod()
{
System.out.println("Parent's nonStatic method is called");
}
public static void staticMethod()
{
System.out.println("Parent's static method is called");
}
}
class Child extends Parent
{
public static void nonStaticMethod()
{
System.out.println("Child's static method is called");
}
public void staticMethod()
{
System.out.println("Child's non static method is called");
}
}
public class Test
{
public static void main(String[] args)
{
Parent p1=new Parent();
Parent p2=new Child();
Child c=new Child();
System.out.print("Parent.static: ");
Parent.staticMethod();
System.out.print("p1.static: ");
p1.staticMethod();
System.o