赞
踩
一、final在英语中的意思
final在英语中表示 最终的、不可变更的。
二、final修饰的变量
局部变量:
final修饰的局部变量一旦赋值就不能再次赋值,只能赋值一次。若是再次赋值会报错;
实例变量:
final修饰实例变量,也是只能赋值一次。
final修饰的实例变量,系统不会赋默认值,必须程序员手动赋值。如果不手动赋值,就会报错。
给final修饰的实例变量赋值
1、直接赋值
- public class Text{
- final double A=10;
- }
2、用构造方法赋值(实例变量在构造方法执行的过程中会赋默认值,在构造方法中在系统赋默认值之前赋值就没有问题)
- public class Text{
- //定义实例变量
- final double A;
- //构造方法
- public Text(){
- this.A=50;
- }
- //或者用带参数构造方法赋值
- public Text(double b){
- this.A=b;
- }
- }
3、final修饰的实例变量一般用stastic修饰(此变量叫做常量)
例如:
static final double PI=3.1415926;
常量的命名规范:建议:命名常量单词所有字母都大写,单词与单词之间用下划线链接;
常量的值不能变;常量和静态变量一样都存储在方法区,并且都在类加载的时候初始化;
三、final修饰的方法
final修饰的方法无法被重写(覆盖);
四、final修饰的类
final修饰的类无法被继承;
五、final修饰的引用
final修饰的引用一旦指向一个对象,就不能在重新指向其他对象,虽然指向不能改变,但是该引用指向的对象内部的数据是可以修改的;
例如:
- demo a=new demo();
- a=new demo1();//编译通过
- final demo a=new demo();
- a=new demo1(); //编译报错
- //提示:Cannot assign a value to final variable 'a'
- //定义final修饰的引用
- final demo a = new demo();
- //通过引用给demo类中的实例变量A赋值
- a.A = 20;
- //编译通过
总结:final表示最终的、不可变的,无论final修饰什么,都离不开本意。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。