[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。


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章