1.当不希望被继承时
2.当不希望某个方法被子类覆盖
3.不希望某个属性值被修改
4.不希望局部变量被修改
public class Final01 {
public static void main(String[] args) {
E e = new E();
// e.TAX_RATE = 0.09; 这个代码会报错
}
}
//要求A类不被其他类继承,使用final即可
final class A{}
//class B extends A{ }
//如果要求hi()方法不能被子类重写
//可以使用hi方法
class C{
public void hi(){
System.out.println("hello");
}
}
class D extends C{
@Override
public void hi() {//若hi前面加了final,这儿会报错
System.out.println("重写了c类方法,");
}
}
//当不希望某个属性值被修改,可以使用final修饰
class E{
public final double TAX_RATE = 0.08;
}
//当不希望某个局部变量被修改,可以用final修饰
class F{
public void cry(){
//这时Num也为局部常量
final double Num = 0.01;
//Num = 0.9;
}
}