天天看點

覆寫

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);