Posted on 2007-06-26 09:15
60 阅读(256)
评论(0) 编辑 收藏 所属分类:
JAVA笔记
Final
when using final object references rather than primitives the meaning gets a bit confusing.With a primitive, final makes the value a constant, but with an object refercence,final makes the reference a constant.
1. blank finals
java allows the creation of blank finals, which are fields that are declared as final but are not given an initialization value. in all cases, the blank final must be initialized before it is used, and the compiler ensures this.However, blank finals provied much more flexibility in the use of the final keyword since.the blank final should be initialized in the constructor.
2. Final methods
Tow reasons for final methods. The first is to put a "lock" on the method to prevent any inheriting class from changing its meaning. This is done for design reasons when you want to make sure that a method's behavior is retained during inheritance and cannot be overidden.
The second reason for final methods is efficiency. If u make a method final,you are allowing the compiler to turn any calls to that method into inline calls.
However, it's better to not trust that the compiler is able to do this and make a method final only if it's quite small or if you want to explicitly prevent overriding.
3.Final class
Defining the class as final simply prevents inheritance nothing more.