java关键字final用法知识点
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的全部知识点内容,感谢大家的阅读和对脚本之家的支持。
相关文章
spring boot validation参数校验与分组嵌套各种类型及使用小结
参数校验基本上是controller必做的事情,毕竟前端传过来的一切都不可信,validation可以简化这一操作,这篇文章主要介绍了spring boot validation参数校验分组嵌套各种类型及使用小结,需要的朋友可以参考下2023-09-09Java通过在主循环中判断Boolean来停止线程的方法示例
这篇文章主要介绍了Java通过在主循环中判断Boolean来停止线程的方法,结合具体实例形式分析了java针对线程的判断与停止操作相关实现技巧,需要的朋友可以参考下2017-04-04spring注入在有常量的情况下使用@AllArgsConstructor操作
这篇文章主要介绍了spring注入在有常量的情况下使用@AllArgsConstructor操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-09-09
最新评论