final关键字

本文详细介绍了Java中的final关键字,包括final修饰类、方法和变量的用法。当final修饰类时,该类无法被继承;修饰方法则无法被子类重写;修饰变量则使其成为常量,不可再修改。通过实例展示了final关键字在实际编程中的应用及其限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

final的英文意思是“最终”。在Java中,可以使用final关键字声明类、属性、方法,在声明时需要注意以下几点。

1.使用final修饰的类不能有子类。

2.使用final修饰的方法不能被子类重写。

3.使用final修饰的变量(成员变量和局部变量)是常量,常量不可修改。

下面将对final的用法逐一进行讲解。

1.final关键字修饰类

Java中的类被final关键字修饰后,该类将不可以被继承,即不能派生子类。下面通过一个案例进行验证,如图1所示。

图1:

图1编译结果:

编译图1代码时,编译器报错,如图1编译结果所示。

在图1中,第2行代码定义了Animal类并使用final关键字修饰,第5~6行代码定义了Dog类并继承Animal类。

如图1编译结果所示,当Dog类继承使用final关键字修饰的Animal类时,编译器报“无法从最终cn.itcast.Animal进行继承”错误,即不能继承使用final修饰的Animal类。由此可见,被final关键字修饰的类为最终类,不能被其他类继承。

2.final关键字修饰方法

当一个类的方法被final关键字修饰后,这个类的子类将不能重写该方法。下面通过一个案例进行验证,如图2所示。

图2: 

图2编译结果: 

编译图2代码时,编译器报错,如图2编译结果所示。

在图2中,第10行代码在Dog类中重写了父类Animal中的shout()方法,编译器报错。这是因为Animal类的shout()方法被final修饰,而被final关键字修饰的方法为最终方法,子类不能对该方法进行重写。因此,当在父类中定义某个方法时,如果不希望被子类重写,就可以使用final关键字修饰该方法。

3.final关键字修饰变量

Java中被final修饰的变量称为常量,常量只能在声明时被赋值一次,在后面的程序中,其值不能被改变。如果再次对该常量赋值,则程序会在编译时报错。下面通过一个案例进行验证,如图3所示。

图3:

图3编译结果: 

编译图3代码时,编译器报错,如图3编译结果所示。

在图3中,当第4行代码对AGE进行第二次赋值时,编译器报错。原因在于使用final定义的常量本身不可修改。

注意:

在使用final声明变量时,要求全部的字母大写。如果一个程序中的变量使用public static final声明,则此变量将成为全局变量,如下面代码所示。

public static final String NAME = "哈士奇";

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值