java中的final关键字

//由于继承中有方法的重写,所以子类会覆盖父类的方法
//有时候我们不想子类覆盖父类的方法,所以java提供了一个关键字:final
final的特点:
修饰类:被final修饰的类不能被继承
修饰方法:被final修饰的方法不能被重写
修饰变量:被final修饰的变量不能被重新赋值(自定义常量)
栗子1:
class fu{
public final void eat() {
}
}
class zi extends fu{
public final void eat() {//被final修饰的方法不能被重写,所以这里报错
}
}
栗子2:
final class fu1{
}
class zi1 extends fu1{//被final修饰的类不能被继承,所以这里报错

}
栗子3:
class fu2{
final int num=10;
}
class zi2 extends fu2{
public void eat() {
num=100;//被final修饰的变量不能被重新赋值(自定义常量),所以这里报错
}
}

//final修饰局部变量的问题
1.局部变量是基本数据类型(基本类型的值不可以改变)
2.局部变量是引用数据类型(引用数据类型的地址值不可以改变,就是不可以再new一次)
final修饰引用数据类型时是引用类型的地址值不变,只有重新new的时候才会改变地址值,才会重新分配内存空间,此时报错
注意:代码执行顺序,静态代码块>构造代码块>构造方法,所以final之后执行的代码中是不可以有基本数据类型重新赋值的语句的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全评估测试题大模型安全评估测试题关键词库生成内容测试题库应拒答测试题库非拒答测试题大模型安全
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值