1. 程式人生 > >類中方法前面使用Override和不使用的區別

類中方法前面使用Override和不使用的區別

public class SuperClass {

     void print(Stirng s)

     {System.out.println(s);}

}
public class SubClass extends SuperClass{

     @Override 

     void print(String s)

     {System.out.println(s);}

}

    在使用SubClass的物件呼叫pirnt(String s)的時候就可以呼叫SubClass中的pirnt(String s),而不是SuperClass中的pirnt(String s)。
    但是在使用的過程中,有需要注意的地方函式要注意型別要求一樣,引數列表相同,返回值也應該相同。如果不同則沒有必要使用@Override來進行函式的重寫,而是直接用函式過載就可以實現。
說明白了就是可以用@Override來對函式進行重寫(遮蔽原函式),而不是實現函式的過載。

    寫了@Override,表示該類的方法覆蓋了其父類的同名同參方法,如果方法寫錯了或者父類沒有這個方法、父類的這個方法對子類不可見、父類方法為final、static等,編譯就會報錯