【JavaSE】final关键字

1.什么是 final

1:final 可以修饰类、属性、方法和局部变量
:2:final 定义时必须赋初始值,并且不能修改
赋值可以在以下位置之一:
2.1.定义时
2.2.构造器
3.代码块
3:如果 final 修饰的是静态的属性,则初始化位置只能是:
3.1.定义时
3.2.静态代码块
4:final 类不能继承,但是能实例化对象
5:如果不是 final 类,但是有 final 方法,方法虽不能重写,但可以被继承
6:如果说一个类已经是 final 类,就没有必要再去使用 final 修饰方法了:因为继承都不能,再去修饰方法就是多此一举
7:final 不能修饰构造器

2.什么时候使用 final

1.当不希望类被继承时
2.不希望父类的某个方法被子类重写
3.不希望类的某个属性值被修改
4.不希望局部变量被修改

3.案例演示

3.1不希望类被继承

在这里插入图片描述

报错:Cannot inherit from final ‘javastudy.final_.csdn.Animal’ Animal 类不能继承

3.2不希望父类的某个方法被子类重写

在这里插入图片描述

报错:‘hi()’ cannot override ‘hi()’ in ‘javastudy.final_.csdn.Animal’;overridden method is final
不能覆盖 Animal 中的 hi() 方法

3.3 不希望类的某个属性值被修改

ps:final 修饰的属性又叫常量,一般用:XX_XX_XX 命名

在这里插入图片描述

报错: Cannot assign a value to final variable ‘PRICE’
不能给 PRICE 赋值

3.4不希望局部变量被修改

在这里插入图片描述

报错:Cannot assign a value to final variable ‘NUM’
无法给变量 NUM 赋值

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值