关键字:final

本笔记来源于:尚硅谷Java零基础全套视频教程(宋红康2023版,java入门自学必备)
b站视频

final:最终的

1.可以用来修饰:类、方法、变量

2.具体的:

2.1 final 用来修饰一个类:此类不能被其他类所继承。

比如:String类、System类、StringBuffer类

2.2 final 用来修饰方法:表明此方法不可以被重写

比如:Object类中getClass();

2.3 final 用来修饰变量:此时的”变量”就称为是一个常量

  1. final修饰属性:可以考虑赋值的位置:显式初始化、代码块中初始化、构造器中初始化
  2. final修饰局部变量:
    尤其是使用final修饰形参时,表明此形参是一个常量。当我们调用此方法时,给常量形参赋一个实参。一旦赋值以后,就只能在方法体内使用此形参,但不能进行重新赋值。

static final 用来修饰属性:全局常量

# java 类加载过程中static final 的特殊

  • static修饰的字段在加载过程中准备阶段被初始化,但是这个阶段只会赋值一个默认的值(0或者null而并非定义变量设置的值)初始化阶段在类构造器中才会赋值为变量定义的值。
  • final修饰的字段在运行时被初始化,可以直接赋值,也可以在实例构造器中赋值,赋值后不可修改。
  • static final修饰的字段在javac编译时生成comstantValue属性,在类加载的准备阶段直接把constantValue的值赋给该字段。

关键字:final
http://yuanql.top/2023/01/06/03_java基础编程/06_面向对象下/关键字:final/
作者
Qingli Yuan
发布于
2023年1月6日
许可协议