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,从而使用方法体代码嵌入的方式,获得效率的提升
一、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 final 修饰符的用法总结
- java final 修饰符详解
- JAVA修饰符的详细介绍(public protect,default, private,final,abstract)
- Java修饰符 abstract,static,final 的区别详解
- java中的修饰符static,final和abstract
- Java修饰符abstract,static,final的区别
- java 修饰符的作用二(final 修饰符) .
- Java修饰符 abstract,static,final 的区别详解
- 关于JAVA中的static和final修饰符的一点总结
- Java修饰符 abstract,static,final 的区别详解
- 关于Java final修饰符
- JAVA基础-栈与堆,static、final修饰符、内部类和Java内存分配
- java基础知识之——(static final abstract 三个修饰符)
- Java修饰符:private、default、protected、public、static、abstact、final
- Java中的3个修饰符static、final、abstract
- Java基础(八) Java修饰符及接口详解之(一)static/final/abstract关键字及接口的使用
- Java修饰符 abstract,static,final 的区别详解
- java【内部类、static、包、访问修饰符、final】
- JAVA基础-栈与堆,static、final修饰符、内部类和Java内存分配
- 《Java基础学习笔记》JAVA之修饰符(final)