Java final

final

final修饰类,方法,基本类型变量,引用的时候分别由不同的意思


final修饰类

当Hero类被修饰成final的时候,表示Hero不能够被继承

其子类被修饰final的时候,也会出现编译错误

public final class Hero extends Object{
    
    String name;
    
    float hp;
    
}

final修饰基本类型变量

final修饰基本类型变量,表示该变量只有一次赋值机会

例子

public class main{
    public static void main(String [] args){
        final int hp;
        hp = 5;
        hp = 6; //这里就会报错
    }
}

final修饰引用

h引用被修饰成final,表示该引用只有1次指向对象的机会

但是,依然可以通过h引用修改对象的属性值,因为hp没有被final修饰

public class Hero{
    String name;
    
    float hp;
    
    float armor;
    
    int moveSpeed;
    
    public static void main(String[] args){
        final Hero h;
        h = new Hero();
        h = new Hero();//该行会报错,因为h引用只有1次指向对象的机会
        h.hp=5;
        h.hp=6;
        //这样是行得通的,因为final只修饰的是h引用,与对象属性无关;
    }
}

问题

设计一个类SomeString,继承 String类。 能否继承?

答:不能,按住Ctrl 进入String类可以看见,String是被final修饰的类

被final修饰的类不能够被继承

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值