final关键字 final修饰的东西不能变

本文介绍了Java中的final关键字,final可以修饰变量、方法和类,使其具有不可变性。final修饰的类无法被继承,方法无法被覆盖,变量只能赋值一次。对于final引用,虽然不能指向新的对象,但对象内部数据可变。final与static结合使用常用于创建常量,且常量通常在类加载时初始化。此外,还对比了Java和C/C++中方法参数传递的差异。
摘要由CSDN通过智能技术生成

final是Java语言中的一个关键字(java关键字都小写)
1.final表示最终的,不可变的
2.final可以修饰变量、方法、类
final修饰的类无法继承
final修饰的方法无法覆盖,重写
final修饰的变量只能赋一次值
final修饰的引用一旦指向某个对象,则不能再重新指向其他对象,但该引用指向的对象内部的数据是可以修改的。
final修饰的实例变量必须手动初始化,不能采用系统默认值。
final修饰的实例变量一般和static联合使用,称为常量。
public static final double PI = 3.1415926;

-引用也是变量: final Person p1=new Person(20); final修饰的引用只能指向一个对象 只有方法结束,p1才能被垃圾回收器回收!
-final修饰的实例变量,系统不管赋默认值,要求程序员必须手动赋值(在变量后面赋值可以,构造函数里赋值也可以)
-final修饰的实例变量,一般添加static修饰。因为实例变量在堆中,100个对象100份。因此如果实例变量不会改变,则没必要声明为实例变量,最好是静态的,节省内存。static
final 联合修饰的变量称为常量(常量名建议全部大写,每个单词之间采用下划线分隔)
-实际上常量和静态变量一样,区别是常量的指不能变,都存储在方法区,都在类加载时初始化。 -常量一般是公开的:public。

class User{
		final int age;
}
局部变量是没有
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值