关于Java中的final关键字
2006年元月2日 sweetsoft
final在java中非常有用,平时用的也挺多,但都没怎么总结。今天终于有时间可以坐下来写点东西了,就把它的用法总结如下:
字段成员:
java中的final成员,提供给java类似C语言中常量的功能,其一旦初始化便不可改变。其初始化可以在两个地方完成:一是其定义处,二是在构造函数中。
方法成员:
如果方法声明为final,则不允许任何从此类继承的类来重写这个方法,但继承的子类仍然可以继承这个方法。(另外有一种称为inline的机制,它会使你在调用final方法时,直接将方法主体插入到调用处,而不是进行例行的方法调用,如压栈等,这样可能会使程序效率有所提高,然而当方法非常庞大时,或在多处调用此方法,可能会影响效率)。
类:
如果类被声明为final,则此类不能再被其他类继承,类中的成员可以是final,也可以不是final,对于方法,自然也就成了final的了,方法前面加不加final已经没有意义。