A Cooly Weblog

   ::  ::  ::  ::  :: 管理

[原]JAVA关键字-final

Posted on 2007-02-10 23:56 acooly 阅读(352) 评论(0)  编辑  收藏 所属分类: Java开发

JAVA 语言中,有很多特殊的关键字( final,static,super,supert,this 等)是每个 JAVA 程序员必须应该搞清楚的,不仅在实际开发中会用到,而起也是面试或考试题里面青睐的考点之一。

本文是自己关于关键字 final 的一些总结。 final 关键字主要应用在标志和声明类,成员变量和方法为不可变,通过这个基本定义可以扩展到 final 可以限制类和方法的继承关系。

 

final 变量

final 变量分为简单变量和对象变量。声明 final 的简单变量,表示该变量从初始化后其值(简单变量直接存储值,而不是引用)就不会改变,需要注意的是在使用其他类提供的 public final 简单变量的时候,就算其他类改变了其定义并重新编译,使用的类在重新编译前该值是不会改变的(参考: http://blog.csdn.net/daniel112/archive/2006/10/11/1330255.aspx )。声明为 final 的对象变量表示一旦初始化其引用不会改变。

final 变量初始化化可以在声明时或构造函数中完成。

Public  class  MyFinalTest{

  
/**  声明时候直接初始化  */

  Public 
final  String FINAL_STR  =  “final_str”;

  
/**  在构造函数中初始化  */

  Private 
final  String FINAL_STR1;

 

  Public MyFinalTest(){

    FINAL_STR1 
=  “asdfasd”;

}

}

final

定义为 final 的类表示该类不能被继承,也就是说该类是一个功能设计完成,不在需要扩展的类。同时该成员方法也对应默认标志为 final ,成员变量随定义而定。

 

Public  final   class  FinalClass{

  Public 
void  method1(){}

  
/**

  * 没有必要加关键字final

  
*/

  Public 
final   void  method2(){}

}

 

final 方法

定义为 final 的方法表示该方法不能被子类覆写( override )。


只有注册用户登录后才能发表评论。


网站导航: