在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(); //輸出結果相同,調用的都是子類重寫的方法
}
}