final关键字
【摘要】 1. 基本介绍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...
1. 基本介绍
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);
}
}
2.使用细节
final修饰的类已经不能被继承了,那么这个类里面的方法就肯定不能被重写
public int addOne(final int x) { //下面的代码是否有误,为什么?
++x; //错误,原因是不能修改 final x 的值
return x + 1; //这里是可以.
}
}
3.总结
1.修饰的变量是常量,常量的值一旦在创建时被赋值就不可修改
2.final修饰的对象的引用不能修改,但引用指向的属性可以修改
3.final修饰的数组元素可以修改,但是数组的引用不可修改
4.final修饰的类不可以被继承
5.final修饰的方法不可以被子类重写
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)