java final

本文详细探讨了Java中的final关键字,包括它如何用于修饰类、方法和变量。讲解了final变量的特性,如基本类型变量和引用类型变量的区别,以及final修饰的局部变量和成员变量的使用规则。同时,介绍了final变量的初始化时机,强调了只能赋值一次的原则。通过实例代码展示了final在实际编程中的应用。
摘要由CSDN通过智能技术生成

final 让子类无法重写final修饰的方法
final 可以修饰:
类: 最终类 无法被继承
方法: 最终方法 无法被重写
变量: final修饰变量, 该变量不能被重新赋值,因为这个变量是常量
常量:
字面值常量:
“hello”,10,true
自定义常量
final int x = 10;

final修饰局部变量的问题
基本类型:基本类型的值不能发生改变
引用类型:引用类型的地址值不能发生改变,但是,该对象的堆内存的值是可以改变的.
例:
class Student{
int a = 10;
}
class FinalDemo{
public static void main(String[] args){
// 局部变量是基本数据类型
int x = 10;
x = 100;
System.out.println(x);
final int y = 10;
// 无法为最终变量x分配值
// y = 100;
System.out.println(y);
System.out.println("-------------");
// 局部变量是引用数据类型
Student s = new Student();
System.out.println(s.a);
s.a = 100;
//s = new Student(); 可以重新分配对象地址
System.out.println(s.a);
System.out.println("-------------");
final Student ss = new Student();
System.out.println(ss.a);
ss.a = 100;
System.out.println(ss.a);// 不会报错 最终打印ss.a = 100;
System.out.println("-------------");
//ss = new Student(); //报错 无法为最终变量ss分配值
//final修饰的引用数据类型的成员变量,表示其地址值不能被修改
}
}

final 修饰变量的初始化时机
被final修饰的变量只能赋值一次
在构造方法完毕前(非静态)
例:
class Demo{

int num;
final int num2;
{
	//num2 = 10; // 只可以赋值一次,在这里也可以
}

public Demo(){
	num = 100;
	// 可以赋值一次
	num2 = 200;
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值