final 关键字

final 关键字

​ 1、是java语言中的一个关键字。

​ 2、表示最终的,不可变的。

​ 3、可以修饰遍历以及方法,还有类等。

​ 4、修饰的类无法被继承。

// B类继承A类,对A类进行扩展,如果不想他人在A类基础上进行扩展,可以加上 final 关键字,那么此时的A类将无法被继承。
final class A {} 
// 报错 无法从最终A进行继承。
class B extends A{}

​ 4、修饰的局部变量,只能赋一次值,一旦赋值将无法再重新进行赋值操作。

​ 5、修饰的方法无法被覆盖、重写。

​ 6、修饰的引用只能指向一个对象,一旦指向后,就永远指向该对象,无法被改变。

​ 7、修饰实例变量,系统不管赋默认值,必须要求手动赋值。实例变量在new对象执行构造方法过程中进行赋值。

class User{
    // 实例变量 未初始化时,系统会自动赋值,int 类型则默认为 0 
    // 错误:变量age未在默认构造器中初始化
    final int age;
    
    // 正确写法
    // 实例变量
    final double weight;
    // 构造方法
    public User(){
        this.weight = 100; // 在系统进行赋默认值之前进行赋值。
    }
    
}


class Chinese{
    // 实例变量使用了final,意味着该实例变量不会随着对象的变化而变化,但是每创建一次对象,就会声明一次 country ,从而浪费了内存。
    final String country = "中国";
    // 正确写法
    static final String COUNTRY = "中国";
    // 结论:final修饰的实例变量一般添加static修饰,static final 联合修饰的变量成为"常量",
    // 常量名建议全部大写,每个单词之间采用下划线连接。
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值