美文网首页
17 final关键字

17 final关键字

作者: ca8519be679b | 来源:发表于2020-02-21 09:48 被阅读0次

final代表最终,不可修改,之前也遇到过,没有细讲

final可以修饰类,方法,局部变量,成员变量,下面我们逐一进行介绍

final修饰类

格式 public final class 类名{...}

被final修饰的类不能有子类,换言之就是太监类,但是其可以有父类,其实我们常用的有些工具类也是final修饰的,如Math,Array,只用类名调用就行了

1 2

如上,尝试继承final的修饰类报错


final修饰成员方法

格式  修饰符 final 返回值 函数名(参数列表){...}

方法一旦被设置为final,子类就无法修改复写

3 4

如上,方法设置成final,子类无法复写

abstract,final不能同时使用,因为abstract是抽象方法要被复写,而final又不让复写


final修饰局部变量

5

局部变量是函数里定义的变量,也包括参数列表里的变量,我们定义final就不能修改其变量值,如上

即使赋值原值相同也不行,即final只能赋值一次

6

如上,我们只赋值一次是可以的

对于基本类型变量,不可变是其数值不能变化再赋值,对于引用类型来说,是其地址不能变化


final修饰成员变量

我们知道成员变量只声明其值为默认值,如果我们给成员变量加上final,则必须手动赋值,因为取消了默认值的给与,如下

7

我们可以在构造方法里对其进行赋值,但是同样要求只能且必须赋值一次,对于成员变量被final修饰,不能使用setter方法,当然也是这个道理

相关文章

网友评论

      本文标题:17 final关键字

      本文链接:https://www.haomeiwen.com/subject/pditqhtx.html