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类。
相关文章
|
4月前
|
设计模式 Java
Java基础—笔记—多态、final、抽象类、接口篇
该文介绍了编程中的多态、final和抽象类、接口相关概念。多态允许子类重写父类方法,通过父类引用调用子类方法,实现解耦和提高代码灵活性,但也可能导致无法使用子类特有功能,需通过强制类型转换解决。final用于修饰不可变的类、方法或变量,防止继承、重写和多次赋值。抽象类是一种包含抽象方法的类,用于强制子类重写特定方法,实现多态,适用于模板方法设计模式,解决代码重复问题。
37 0
|
1月前
|
前端开发 JavaScript Java
【前端学java】java中final修饰符(6)
【8月更文挑战第9天】java中final修饰符(6)
29 2
|
1月前
|
Java Android开发
解决Android编译报错:Unable to make field private final java.lang.String java.io.File.path accessible
解决Android编译报错:Unable to make field private final java.lang.String java.io.File.path accessible
95 1
|
4月前
|
Java API
【JAVA】final、finally、finalize 有什么区别?
【JAVA】final、finally、finalize 有什么区别?
|
30天前
|
XML SQL Java
|
1月前
|
存储 Java 对象存储
【Java基础面试四十三】、 static和final有什么区别?
由于网络原因,我无法获取到您提供的链接内容。如果需要我解析该网页,请确保链接有效并重试,或者提供其他问题,我会尽力帮助您。
|
2月前
|
Java
Java面向对象 ( 多态 | final关键字 | 接口 )
Java面向对象 ( 多态 | final关键字 | 接口 )
|
3月前
|
Java
java之final关键字
java之final关键字
|
3月前
|
Java 编译器
Java基础5-一文了解final关键字的特性、使用方法,以及实现原理(二)
Java基础5-一文了解final关键字的特性、使用方法,以及实现原理(二)
25 0
Java基础5-一文了解final关键字的特性、使用方法,以及实现原理(二)
|
3月前
|
Java 数据安全/隐私保护
Java基础手册二(类和对象 对象创建和使用 面向对象封装性 构造方法与参数传递 this关键字 static关键字 继承 多态 方法覆盖 final关键字 访问控制权限修饰符)
Java基础手册二(类和对象 对象创建和使用 面向对象封装性 构造方法与参数传递 this关键字 static关键字 继承 多态 方法覆盖 final关键字 访问控制权限修饰符)
29 0