在java中,静态方法与非静态方法不太一样,静态方法不能重写。
class Parent {
public static void print(){
System.out.println("this is print in parent.");
}
public static void print(String s){
System.out.println(s);
}
public void test(){
System.out.println("hello");
}
}
class Children extends Parent {
public static void print(){
System.out.println("this is print in children.");
}
public void test(){
System.out.println("good");
}
}
public class TestOverride
{
public static void main(String[] args){
Children c=new Children();
//静态方法不能重写,下面调用的输出结果不同,分别为各自定义的方法
c.print();//this is print in children.
Parent p=new Children();
p.print();//this is print in parent.
//下面测试的是非静态方法的覆盖
c.test();
p.test(); //输出结果相同,调用的都是子类重写的方法
}
}
转载于:https://blog.51cto.com/5332036/985755