java关键词final使用详情与细节

简介: java关键词final使用详情与细节

final关键词

需求

  1. 当不希望被继承时,使用final修饰【final class A{}】
  2. 当不希望父类的某个方法被子类重写时【访问修饰符 final 返回类型 方法名】
  3. 当不希望类的某个属性的值被修改,可以使用final修饰。【public final double TAX_RATE = 0.08】
  4. 当不希望某个局部变量被修改,可以使用final修饰【final double TAX_RATE = 0.08】

注意细节

  1. final修饰的属性又叫常量,用XX_XX_XX命名
  2. final修饰的属性在定义时,必须赋初值,并且不能再修改。可以在定义时、构造器中、代码块中赋值。
class A{
    public final double TAX_RATE = 0.08;
    public final double TAX_RATE;
    public final double TAX_RATE;
    //在构造器或代码块中赋初值也可以
    public A(){
        TAX_RATE = 0.1;
    }
    {
        TAX_RATE = 1.1;
    }
}
  1. 如果final修饰的属性是静态的,则初始化的位置只能是==定义时或静态代码块中(不能在构造器中赋值)==
  2. final类不能被继承,但可以实例化对象。
  3. 如果类不是final类,但还有final方法,他可以被继承,但不能被重写。
  4. 一般来说,如果一个类已经是final类,但他就没必要再修饰final方法。(已经不能被继承,更不会被重写)
  5. final不能修饰构造器。
  6. final往往和static搭配使用效率更高。
class B{
    public final static int num = 1000;
    //调用num属性时不会进行类加载
    static{
    }
}
  1. 包装类(Integer,Double,Float,BOOlean)和String都是final类。
相关文章
|
2月前
|
Java 程序员
Java 面试高频考点:static 和 final 深度剖析
本文介绍了 Java 中的 `static` 和 `final` 关键字。`static` 修饰的属性和方法属于类而非对象,所有实例共享;`final` 用于变量、方法和类,确保其不可修改或继承。两者结合可用于定义常量。文章通过具体示例详细解析了它们的用法和应用场景。
33 3
|
2月前
|
存储 安全 Java
了解final关键字在Java并发编程领域的作用吗?
在Java并发编程中,`final`关键字不仅用于修饰变量、方法和类,还在多线程环境中确保对象状态的可见性和不变性。本文深入探讨了`final`关键字的作用,特别是其在final域重排序规则中的应用,以及如何防止对象的“部分创建”问题,确保线程安全。通过具体示例,文章详细解析了final域的写入和读取操作的重排序规则,以及这些规则在不同处理器上的实现差异。
了解final关键字在Java并发编程领域的作用吗?
|
2月前
|
Java 编译器
在Java中,关于final、static关键字与方法的重写和继承【易错点】
在Java中,关于final、static关键字与方法的重写和继承【易错点】
26 5
|
2月前
|
缓存 安全 Java
Java中 final、finally、finalize 有什么区别?
本文详细阐述了Java中`final`、`finally`和`finalize`的区别:`final`用于修饰类、方法和变量以表示不可变性;`finally`是用于确保在`try-catch`结构中无论是否发生异常都能执行的代码块;而`finalize`是`Object`类的方法,用于在对象被垃圾回收前执行清理工作,但在JDK 9中已被标记为弃用。
38 0
Java中 final、finally、finalize 有什么区别?
|
2月前
|
Java
Java关键字 —— static 与 final 详细解释!一看就懂 有代码实例运行!
这篇文章详细解释了Java中static和final关键字的用法,包括它们修饰类、方法、变量和代码块时的行为,并通过代码示例展示了它们的具体应用。
223 0
Java关键字 —— static 与 final 详细解释!一看就懂 有代码实例运行!
|
2月前
|
算法 小程序 Java
java制作海报三:获取微信二维码详情,并改变大小,合成到海报(另一张图片)上
这篇文章介绍了如何使用Java获取微信小程序的二维码,并将其调整大小后合成到海报(另一张图片)上。
44 0
|
2月前
|
存储 安全 Java
了解final关键字在Java并发编程领域的作用吗?
了解final关键字在Java并发编程领域的作用吗?
|
2月前
|
Java 程序员 编译器
【Java】继承、super、final、子类构造方法
【Java】继承、super、final、子类构造方法
34 0
|
2月前
|
安全 Java 编译器
了解final关键字在Java并发编程领域的作用吗?
【10月更文挑战第8天】在Java并发编程中,`final`关键字具有重要作用,包括保证变量的可见性和不可变性,防止对象引用被意外修改,并帮助编译器优化读取操作及消除不必要的同步。通过确保变量不可变,`final`增强了多线程环境下的安全性与性能。
|
4月前
|
前端开发 JavaScript Java
【前端学java】java中final修饰符(6)
【8月更文挑战第9天】java中final修饰符(6)
40 2