10.10 final关键字
final关键字我们在常量那里就接触过了。它主要有三个应用场景。
1.final用在变量的前面,表示这个变量值初始化后就不能再改变。
final int GOODS=10;
//语法错误,final表示赋值后不能改变
GOODS=11;
如果有一些值是固定的、不可修改的,那么就可以用这个方法定义好,例如这个类:
public class CourseID{
public static final String JAVA="1";
public static final String JSP="2";
public static final String HTML="3";
public static final String JAVASCRIPT="4";
public static final String SSH="5";
public static final String WEB_BOOTSTRAP="7";
public static final String JAVA_TEST="8";
public static final String VUE="9";
}
然后在别的地方,可以直接CourseID.JAVA这样引用。
2.参数前面有final,那么说明这个参数是不能被修改的。
下面的代码把url设置成"abc",由于参数url是final修饰,url不能修改,这句代码将出错!
3.final用在方法前面,表示这个方法无法被子类复写
public class Test{
public final void good(){
}
}
如果有某个类继承了Test,那么它不能复写good这个方法:
4.如果final用在类的前面,表明这个类无法被继承。
假设Rectangle类这样定义:
public final class Rectangle{ /* 其他代码略 */ }
那么这个Rectangle就不能被继承了,如图所示: