- Java类
- Java包
- Java方法
- Java访问
- Java创建
- Java对象(Object)
- Java内部类
- Java继承
- Java抽象类
- Java泛型类
- Java异常
- Java接口
- Java枚举
- Java注解
Java final关键字
final
关键字不允许修改或替换其原始值或定义。final
关键字可以在以下三个上下文中使用:
- 变量声明
- 类声明
- 方法声明
final变量
如果一个变量被声明为final
,它只能被赋值一次。final
变量的值在设置后不能修改。变量声明包括局部变量的声明,方法/构造函数的形式参数,实例变量和类变量。要将变量声明为final
,请在变量声明中使用final
关键字。
final int YES = 1;
final
变量的值只设置一次,它不能被重新赋值。有两种方法来初始化final
变量的值:
- 在声明时给予初始化。
- 将其初始化延迟到稍后的时间。
但是,必须要在第一次读取 final
变量之前初始化它。
final
局部变量 - 可以声明一个局部变量为final
。如果将局部变量声明为空的final
变量,则必须在使用前初始化它。final
参数 - 可以声明一个参数final
。 当调用方法或构造函数时,参数将使用实际参数的值自动初始化。因此,不能在方法或构造函数主体内更改final
参数的值。final
实例变量 - 可以声明一个实例变量final
和空的final
。空的final
实例变量必须初始化一次,并且只有在调用类的任何构造函数时才初始化一次。final
类变量 - 可以声明一个类变量final和空的final
。必须在其中一个静态初始化器中初始化一个空的最终类变量。final
参考变量 - 引用变量存储对象的引用。final
引用变量意味着,一旦引用一个对象(或null
),它就不能被修改以引用另一个对象。
以下代码显示了test2()
方法的最终形式参数x:
public void test2(final int x) {
如果有一个类的多个静态初始化器,必须在一个静态初始化器中初始化所有空的final
类变量一次。
public class Main { public static final int YES = 1; public static final int NO = 2; public static final String MSG; static { MSG = "final static variable"; } }
final类
如果一个类被声明为final
,它不能被扩展(或子类化)。
final方法
如果一个方法声明为final
,它不能在包含该方法的类的子类中重新定义(覆盖或隐藏)。
上一篇:Java this关键字
下一篇:Java构造函数(构造器)
- Java教程
- Vim教程
- Swing教程
- Spring教程
- Spring Web Services教程
- Spring MVC教程
- Spring JDBC教程
- Spring Cloud教程
- Spring Boot教程
- Spring Boot CLI教程
- Spring Batch教程
- Spring AOP教程
- PDFBox教程
- JSP教程
- JSF教程
- JPA教程
- Java面向对象设计
- Java设计模式
- Java虚拟机教程
- Java泛型教程
- Java正则表达式教程
- Java数据类型教程
- Java并发编程教程
- Java密码学教程
- Java多线程教程
- Java国际化(i18n)教程
- JavaFX教程
- Java9教程
扫描二维码
程序员编程王