我是靠谱客的博主 傻傻歌曲,最近开发中收集的这篇文章主要介绍final关键字,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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 = "哈士奇";

最后

以上就是傻傻歌曲为你收集整理的final关键字的全部内容,希望文章能够帮你解决final关键字所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(66)

评论列表共有 0 条评论

立即
投稿
返回
顶部