Java学习之:final 关键字的用法总结

final关键字常用的4种用法

  • 可以用来修饰一个类

  • 可以用来修饰一个方法

  • 可以用来修饰一个局部变量

  • 可以用来修饰一个成员变量

  • 对于类、方法来说:abstract 关键字和 final 关键字不能同时使用,因为 abstract 修饰的抽象类或者方法一定要通过覆盖重写才有意义,而 final 定义的东西都不能再被重写,所以矛盾

final 修饰一个类

  • 格式: public final class 类名称 {方法体} 要把 final 放到 class 之前
  • final 修饰的类称为太监类,因为不能有子类
  • 一个类如果是 final 的,那么其中所有的成员方法都无法进行覆盖重写

final 修饰一个方法

  • final 来修饰一个方法的时候,这个方法就是最终方法,即不能被覆盖重写
  • 格式:
    在这里插入图片描述

final 修饰一个局部变量

  • 一旦使用 final 来修饰局部变量,这个变量就不能再进行更改;一次赋值,终生使用
    在这里插入图片描述

  • 使用 final关键字定义的局部变量,只要保证有一次赋值即可;
    在这里插入图片描述
    【不可变的意义】:

  • 对于一个基本类型的变量来说,不可变代表的是这个变量的值不可变

  • 对于一个引用数据类型来说,不可变代表的是这个变量的地址值不可变。

  • 因此用 final 修饰的引用类型变量是不可以再修改其地址值的。如下:stu1 变量没有被 final 修饰,因此可以随意改变其地址值,进行重新赋值,但是 stu2 变量被 final 关键字修饰,因此不能再重新改变地址值
    在这里插入图片描述

final 关键字修饰成员变量

  • 由于成员变量具有默认值,和局部变量不同,所以用了 final 之后必须进行手动赋值,系统不会再分配默认值了,因为如果系统默认分配值,再通过 final 修饰就不可变了,永远都是初始化的那个值。
    在这里插入图片描述

  • 对于 final 修饰的成员变量,要么使用直接赋值,要么通过构造方法赋值

  • 必须保证类当中所有重载的构造方法,都最终会对 final 的成员变量进行赋值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暖仔会飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值