final不只用在静态变量上
视频锁定
{$ currentTime | date:'mm:ss' $}
{$ timeLeft | date:'mm:ss' $}
你也可以用final关键字来修饰非静态的变量,这包括了实例变量、局部变量或是方法的参数。不管哪一种,这都代表它的值不能变动。但你也可以用final来防止方法的覆盖或创建子类。
- final的变量代表你不能改变它的值。
- final的method代表你不能覆盖掉该method。
- final的类代表你不能继承该类(也就是创建它的子类)。
非静态final变量
class Foof {
final int size = 3; //size将无法改变
final int whuffie;
Foof() {
whuffie = 42; //whuffie不能改变
}
void doStuff(final int x) {
//不能改变x
}
void doMore() {
final int z = 7; //不能改变z
}
}
final方法
class Poof {
final void calcWhuffie() {
//该方法不能被子类覆盖
}
}
final类
final class MyMostPerfectClass {
//不能被子类继承
}
在线练习
{$ activeFileHint $}