Java中final用法与详解
final作为Java中经常用到的关键字,了解final的使用方法是非常有必要的。这里从final关键字在数据域、方法和类中三个方面分析final关键字的主要用法。
final应用于基本数据类型
1、对于基本数据类型final使数值恒定不变。
2、一个既是static又是final的域只占据一段不能改变的存储空间。(public static final int VALUE )将数据定义为static强调只有一份,定义为final,则说明它是一个常量。
3、Java允许声明为final但又未给定初值的域(空白final),但必须确保在使用前被初始化。(必须在域的定义或者每个构造器初始化时用表示式对final进行赋值)。
4、在参数列表中讲参数声明为final,意味着无法在方法中更改参数引用所指向的对象。(主要用来向匿名内部类传递数据)
final方法
1、使用final修饰方法时,可以把方法锁定,以防任何继承类修改它的含义。这是出于设计的考虑
2、方法被修饰为final时,就是同意编译器将针对该方法的所有调用都转换为内嵌调用。
3、所有的private方法都隐式地指定为final的。
final类
1、当某个类整体定义为final时,就表明你不打算继承该类,而且也不允许别人这样做。(有一次面试时被问到String类可不可以被继承,当时没有回答上来,好在面试官告诉了我String类不能继承主要是因为被final修饰了)。