Java 中的 final 关键字

 

最近在重温之前看的 JavaSE 教程, 在 final 关键字这里有点小疑惑, 查了些资料, 做个记录.

 

定义

final 关键字是 Java 中的 非访问修饰符 , 可以用来修饰 类、方法 和 变量

 

作用

final 修饰的


  • 无法被继承
  • 方法
    无法被重写(覆盖)
  • 变量
    只能赋值一次

 

用法

这里主要记录 final 应用在 变量 上的一些注意点

 

常量(final variable) 需要在声明时 初始化(initialize) , 否则会导致 编译时错误

/*
    一段用来演示 常量初始化 的 Java 代码
*/

class Demo 
{ 
	// 1. 直接初始化
	final int THRESHOLD = 5; 
	
	// 2. 实例语句块初始化
	final int CAPACITY; 
	
	// 3. 构造方法初始化
	final int MINIMUM; 
	
	// 1. 直接初始化, 这是个静态常量
	static final double PI = 3.141592653589793; 
	
	// 4. 静态语句块初始化
	static final double EULERCONSTANT; 
	
	// 2. 实例语句块初始化(续) 
	{ 
		CAPACITY = 25; 
	} 
	
	// 4. 静态语句块初始化(续)
	static{ 
		EULERCONSTANT = 2.3; 
	} 
	
	// 3. 构造方法初始化(续)
    //
	// 注意!!!
	// 如有多个构造方法
	// 务必在各个方法体中完成该常量的初始化
	public Demo() 
	{ 
		MINIMUM = -1; 
	} 
		
} 

 

 局部常量(Local Final Variable)

当常量在 方法 / 构造器 / 语句块 内部被声明时, 它称作 局部常量

它的 声明 和 初始化 可以分行完成

final 是局部变量唯一可用的修饰符

class Demo
{ 
	public static void main(String args[]) 
	{ 
		
        // 局部常量 i
		final int i; 
		i = 20; 

		System.out.println(i); 
	} 
} 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值