Java面试题之final关键字、常量全面详解

final关键字的基本知识(必须掌握)

  1.  final表示最终的,不可变的。也是final单词翻译过来的中文意思
  2. final修饰的方法无法被覆盖,无法被重写
  3. final修饰的类无法被继承
  4. final修饰的表示最后的不能变的,不能被修改的
  5. final修饰的局部变量一旦被赋值不能被修改,final修饰的变量只能被赋一次值
  6. final修饰的引用:
    1. 该引用只能指向一个对象,并且它只能永远的指向该对象,无法在指向其他对象,并且在该方法执行过程中,该引用指向对象之后,该对象不会被垃圾回收期回收,直到当前方法结束,才会释放空间
    2. 虽然final的引用指向对象A后,不能在重新指向对象B,但是对象A内部的数据可以被修改
  7. final修饰的实例变量,系统不管赋默认值,要求程序员自己必须手动赋值
  8. final终极结论:
    1. final修饰的实例变量,系统不负责赋默认值,要求程序员必须手动赋值。这个手动赋值,在变量后面赋值可以,在构造方法中赋值也可以
  9. static和final联合修饰的变量称为“常量”,常量名建议全部大写,每个单词之间采用下划线衔接
public class Student{
    
    private int id;//学生id

    private String username;//学生姓名
    
//这里就是定义了一个常量,因为一个班学生可能就是中国的,
//为了不反复的去定义,可以选择直接定义常量
    private static final String COUNTRY_NAME = "中国";
    
}
  1. 常量的值不能变
  2. 常量和静态变量,都是存储在方法区,并且都是在类加载时初始化

最后的最后,就是记住final英文单词的翻译就是:最后的、最终的。也就是说一个东西都到了最后了它就是不可改变的了,只要用它修饰了都是最终的东西了,比如说写的文档或者项目有一个最终版,就相当于已经确定了,就别在改变它就好了。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Java+每天进步亿点点

一起学习一起进步一起高薪

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

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

打赏作者

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

抵扣说明:

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

余额充值