1,方法的覆寫
class A {
public void print() {
System.out.println("Hello World .") ;
}
}
class B extends A {
public void print() { // 方法名稱、參數類型及個數、傳回值全相同
System.out.println("世界,你好!") ;
public class Test {
public static void main(String args[]) {
B b = new B() ;
b.print() ; //方法從父類繼承而來
當一個類之中的方法被覆寫之後,如果執行個體化的是這個子類對象,則調用的方法就是被覆寫過的方法。
但是在進行方法覆寫的時候有一個點需要注意:被子類所覆寫的方法不能擁有比父類更嚴格的通路控制權限,對于通路控制權限現在已經接觸過三種:private < default(不寫)<public;
如果此時父類之中的方法是default權限,那麼子類覆寫的時候隻能是default或public權限,而如果父類的方法是public,那麼子類之中方法的通路權限隻能是public。
當一個子類覆寫了一個父類方法的時候,那麼在這種情況下,子類要想調用父類的被覆寫過的方法,則在方法前要加上“super”。
2,屬性的覆寫
public String msg = "Hello World ." ;
public int msg = 100 ; //屬性同名
System.out.println("msg = " + this.msg);
System.out.println("msg = " + super.msg);