inal:最终的,确保使用前是被赋值得,一旦赋值后不可修改。
1 数据
①局部变量
基本数据类型:
可以先定义后赋值,但要保证在使用前是已被赋值的,一旦赋值后不可修改;
引用数据类型:
可以先定义后赋值,但要保证在使用前是已被赋值的,一旦赋值后不可修改;
引用内容不可修改,但备用用的对象内容可以被修改;
②成员变量
必须保证成员变量在使用前被赋值;
成员变量赋值的方式有两种,1声明变量时赋值,2构造函数中赋值;
public static void main(String[] args) {
//局部变量
//①基本数据类型
final int val;//先定义
// val = val + 1;//报错没有赋值,无法使用
val = 7 ;//再赋值
//②引用数据类型
final Score score = new Score("Jack",98,95,90);
score.toString();
//score = new Score("Tom",77,89,99);//引用无法再次修改
score.name = "Tom";
score.toString();
}
2 方法参数
在方法参数上做 final 修饰后,整个方法体内参数值不允许被改变。
public Score(final String name,int yuWen, int shuXue, int yingYu) {
//name = "jack";//报错
this.name = name;
this.yuWen = yuWen;
this.shuXue = shuXue;
this.yingYu = yingYu;
}
3 方法
在方法上做 final 修饰后,被继承的子类无法覆盖此方法,可以被继承。
不可以修饰构造方法。
4类
在类上做 final 修饰后,此类不允许被继承。
违背了面向对象编程中的 “ 继承 ”
以上就是本次介绍的关于java关键字final的全部知识点内容,感谢大家的阅读和对社区的支持。 |