Posted on 2007-02-10 23:56
acooly 阅读(353)
评论(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
)。