final中文意思:最后的,最终的 final可以修饰类,属性,方法和局部变量
1.final修饰的类,不可以被继承 2.final修饰的方法,不可以被重写 3.final修饰的变量为常量,不可以修改
public class Final01 {
public static void main(String[] args) {
E e = new E();
//e.TAX_RATE = 0.09;
}
}
//如果我们要求 A 类不能被其他类继承
//可以使用 final 修饰 A 类
final class A { }
//class B extends A {}
class C {
//如果我们要求 hi 不能被子类重写
//可以使用 final 修饰 hi 方法
public final void hi() { }
}
class D extends C {
@Override
public void hi() {
System.out.println("重写了 C 类的 hi 方法..");
}
//当不希望类的的某个属性的值被修改,可以用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;
System.out.println("NUM=" + NUM);
}
}
final修饰的类已经不能被继承了,那么这个类里面的方法就肯定不能被重写
public int addOne(final int x) { //下面的代码是否有误,为什么?
++x; //错误,原因是不能修改 final x 的值
return x + 1; //这里是可以.
}
}
1.修饰的变量是常量,常量的值一旦在创建时被赋值就不可修改 2.final修饰的对象的引用不能修改,但引用指向的属性可以修改 3.final修饰的数组元素可以修改,但是数组的引用不可修改 4.final修饰的类不可以被继承 5.final修饰的方法不可以被子类重写
本文为互联网自动采集或经作者授权后发布,本文观点不代表立场,若侵权下架请联系我们删帖处理!文章出自:https://zengyihong.blog.csdn.net/article/details/123029580