iT邦幫忙

0

[Java] Final Keyword

閱讀時間: 5分鐘

final keyword 在java中,是用於屬性的限制。
它可以用於以下多種宣告方式:

類別(class)
當宣告在類別時,該類別就無法被繼承(extend)。
例子:

final class Door{}  //final class
  
class SpecialAlarm extends Door{  
  void open(){System.out.println("Alarming!");}  
     
   public static void main(String args[]){  
   SpecialAlarm alarm = new SpecialAlarm();  
   alarm.open();  
   }  
}  

結果:Compile Time Error
當有其他class嘗試去extend,會出現error。

函數(method)
當宣告在函數時,可繼承(extend)但無法覆寫(overwrite)
例子:

class Door{  
  final void open() //final method
      {System.out.println("open the door");}  
}  
     
class Alarm extends Door{  
   void open(){System.out.println("Alarming!");}  
     
   public static void main(String args[]){  
   Alarm alarm = new Alarm();  
   alarm.open();  
   }  
}  

結果:Compile Time Error
當有其他method嘗試去overwrite,會出現error。

變數(variable)
當宣告在變數時,它是一個常數,是無法被修改的。
例子:

class Door{  
 final int weight_kg=20;//final variable  
 void changeWeight(){  
  weight_kg =40;  
 }  

 public static void main(String args[]){  
 Door obj=new Door ();  
 obj.changeWeight();  
 }  
} 

結果:Compile Time Error
當將變數(variable)宣告為final,又嘗試去修改,會出現error。


尚未有邦友留言

立即登入留言