Java中的final关键字详解

三种被final修饰的场景:

Java中final关键字的使用很频繁,它可以修饰变量、方法跟类。“final”的英文意思是最终的、不可更改的意思,因此被final修饰的变量、方法或类是不能被更改的。
final一般会跟static关键字结合使用。下面分别解析被final修饰的变量、方法和类:

一、final变量

定义:被final修饰的变量就是final变量,final变量经常和static关键字一起使用,作为常量。
特点:final变量被赋值后不能被更改,否则会出现编译错误。
补充:final变量名一般都大写,比如final int COUNT。

示例:

 public static final int COUNT = 100;
 public static final String TEST = "HAYDEN";

非静态的final变量也可以在类的构造方法中为其赋值。

public class Test {
    public final int COUNT;
    public Test(int COUNT){
        this.COUNT = COUNT;
    }
}

二、final方法

定义:被final修饰的方法就是final方法。
特点:final方法不能被重写。(一般情况下,当一个方法是很完整的,不需要被重写或者你不希望被被别人重写,可以将方法声明为final),final方法比非final方法要快,因为在编译的时候已经静态绑定了,不需要在运行时再动态绑定。
示例:

public final String finalTest(){
        return "This is a final method!";
    }

三、final类

定义:被final修饰的类就是final类。
特点:final类不能被继承。java自带很多final类,比如包装类String、Interger等。一般final类功能都十分完整,不需要子类来进行扩充。
示例:

public final class FinalClassTest {

}

使用final关键字修饰的好处:

1.final关键字提高了性能。JVM和Java应用都会缓存final变量。

2.final变量可以安全的在多线程环境下进行共享,而不需要额外的同步开销。

3.使用final关键字,JVM会对方法、变量及类进行优化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值