您的位置:首页 > 编程语言 > Java开发

Java final 修饰符

2013-08-20 16:34 120 查看
6.8 P153-158

一、final 字段、变量、形参;在使用前必须初始化,初始化之后不能被修改

1. 对于基本数据类型,值不能被修改;对于引用类型,不能指向其他的对象,但对象本身可以被修改,数组引用也是如此

2. 有的在编译期就确定值,如 final int num1 = 2;有的在运行期才确定值,如 final int num2 = (int)(Math.random() * 20)

3. 对于定义时未初始化的final字段,在构造方法中必须对其进行初始化;接口内定义的字段自动式 static final 的,且必须在定义时初始化

4. 使用 final 修饰的方法的形参,在方法内部不能被修改

二、 final 方法

1. 防止方法在子类中被覆盖、重写(不能在子类中定义具有相同方法名、形参列表的方法)

2. 编译器对于代码量较小的 final 方法,在调用方法的地方,会进行方法体代码嵌入,而非方法调用的方式,减少方法调用的开销

3. private 修饰的方法,自动添加 final 修饰,但在子类中可定义同名、同形参列表的方法;此举应该是为了获得方法体代码嵌入的方式

4. Java 中的方法,除 final 方法外,其他的方法都采用动态绑定方式

三、final 类

1. final 类将不能被继承

2. final 类的字段与普通类一样,可以设成 final,也可不设

3. 由于不存在被覆盖、重写的可能,final 类的所有方法,将默认设为 final,从而使用方法体代码嵌入的方式,获得效率的提升
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Java