java关键字final用法知识点

论坛 期权论坛 脚本     
niminba   2021-5-23 02:34   2066   0

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的全部知识点内容,感谢大家的阅读和对社区的支持。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:1060120
帖子:212021
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP