java重寫 overriding

overriding主要出現在如下兩種情況:

(1)對接口方法的實現,在接口中一般只是對方法進行了聲明,而我們在實現時,就需要實現接口聲明的所有方法。

(2)在繼承中也可能會出現子類覆蓋父類中的方法。

重寫要注意以下的幾點:

(1)覆蓋的方法的標誌必須要和被覆蓋的方法的標誌完全匹配,才能達到覆蓋的效果;
(2)覆蓋的方法的返回值必須和被覆蓋的方法的返回一致;
(3)覆蓋的方法所拋出的異常必須和被覆蓋方法的所拋出的異常一致,或者是其子類;
(4)被覆蓋的方法不能爲private,否則在其子類中只是新定義了一個方法,並沒有對其進行覆蓋。
舉例如下:
 class A {    
     public A(){    
 }    
 public void fa() {    
     System.out.println("CLASS A :Function fa Runing......");    
 }    
   
 public void fb() {    
    System.out.println("CLASS A :Function fb Runing......");    
    fa();    
    System.out.println("CLASS A :Function fb Stop......");    
 }    
}    

class B extends A {    
 public B(){    
 }    
 public void fa() {    // 重寫 A類的  fa  方法
    System.out.println("CLASS B :Function fa Runing......");    
 }    
 public void fb() {     // 重寫 A類的  fb  方法
    System.out.println("CLASS B :Function fb Runing......");    
    super.fb();    
    System.out.println("CLASS B :Function fb Stop......");    
  }    
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章