Java的final笔记

final

final

final关键字可用于修饰类、变量、和方法。
final修饰变量时,该变量一旦获得了初始值就不可在改变。

final修饰成员变量

final修饰类变量

final修饰成员变量中的类变量必须在声明该变量时或在静态初始化块中分配初始值。

final修饰实例变量

final修饰实例变量时必须在非静态初始块、声明该实例变量或构造器中指定初始值。

系统不会对final变量进行隐式初始化,所以必须由程序员进行显示初始化。

final修饰基本类型变量和引用类型变量的区别

final在修饰基本类型变量时,其内容不会改变,但如果修饰的是一个引用类型变量的话,引用的地址虽然无法改变,但是该地址的内容是可以改变的。

可执行“宏替换”的final变量

对于final变量来说,只要满足三个条件,这个变量就不是一个变量而是相当于一个直接量。

final int a=5;
System.out.println(a);
System.out.println(5);//结果是一样的
final方法

final修饰的方法不能被重写

对于一个用final修饰的private的方法来说,依然可以在子类中定义一个和父类具有相同方法名、形参列表、返回值的方法,只不过二者之间并没有任何关系。

final虽然不允许重写方法,但是允许重载方法

final类

final修饰的类不能有子类。为确保某个类不能被继承,就可以使用final修饰这个类。

不可变类

不可变类的意思是创建该类的实例后,该实例的实例变量是不可改变的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值