Java 的 final 关键字
  anLrwkgbyYZS 2023年12月30日 14 0


final 关键字可以用于修饰类、方法、变量。

  • 修饰类 , 类不可以被继承。
  • 修饰方法,方法不可以被重写。
  • 修饰变量:变量为基础数据类型,这个变量一旦被初始化之后就不能在改变。

           变量为引用数据类型,这个引用的地址不可以被修改,引用指向的对象的内容还可以修改。

1.  修饰类

final 修饰类 , 类不可以被继承,测试代码如下所示:

MyFinalStudy 类使用 final 修饰。

package finalStudy;

public final class MyFinalStudy {
}

MyFinalStudy1 继承 MyFinalStudy报错。

package finalStudy;

public class MyFinalStudy1 extends MyFinalStudy {
}

Java 的 final 关键字_基础数据类型

2. 修饰方法

测试代码,MyFinalStudy 类中的 play 方法 使用 final 修饰。

package finalStudy;

public class MyFinalStudy {
    public final void play() {

    }
}

MyFinalStudy1 继承 MyFinalStudy,重写play报错。

Java 的 final 关键字_局部变量_02

3. 修饰变量

final 修饰 基本数据类型。

Java 的 final 关键字_引用数据类型_03

final 修饰 引用类型。

Java 的 final 关键字_基础数据类型_04

引用数据类型的内容还可以再改变。

Java 的 final 关键字_基础数据类型_05

运行截图:

Java 的 final 关键字_引用数据类型_06

4. final 适用的情况

final 可以声明类、成员变量、方法、以及本地变量,下列情况使用 final 关键字:

1) 不允许被继承的类,如:String 类。

2) 不允许修改引用的域对象。

3) 不允许被重写的方法,如:POJO 类的 setter 方法。

4) 不允许运行过程中重新赋值的局部变量。

5) 避免上下文重复使用一个变量,使用 final 描述可以强制重新定义一个变量,方便更好地进行重构。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月30日 0

暂无评论

推荐阅读
anLrwkgbyYZS