Java中final关键字

在ImportNew中看到一篇介绍java中final关键字的文章,跟着学习了一下,特此抄录以备复习,欢迎大家阅读并指出我的理解不到位及错误之处,感谢!!!
特奉上原文,请点击
新司机开车了,擦亮眼睛。
  • Java中的final关键字非常重要,它可以应用于类,方法和变量;
  • 什么是final?
    • final是java中的一个关键字,可以修饰变量(成员变量+局部变量)、类以及方法。final与abstract关键字是反相关的,不能同时出现。
  • 被final修饰的变量,方法和类代表了什么?
    • 被final修饰的变量(成员变量+局部变量)叫做final变量,final变量不能再次改变其引用。final经常与static一起声明常量。
    • 被final修饰的方法称为final方法,不能被子类重写。如果你认为一个方法的功能已经足够完善了,子类中无需改变的话你可以使用final修饰此方法。final方法要比普通的方法要快,因为在编译时已经静态绑定了,不需要再运行时动态绑定。
    • 被final修饰的类称为final类。final类通常是完整的,不能被继承。java中有很多类是final类,比如String,Integer及其它包装类。final类的对象一旦被创建就不能被更改了。String类是典型的不可变类的代表。其有很多好处,譬如对象是只读的,可以在多线程环境下安全的共享,不用额外的同步开销等等。
  • 被final修饰的好处?
    1. final可以修饰变量(成员变量+局部变量)、方法和类;
    2. final变量不能再次赋值;
    3. final成员变量必须在声明时赋值或者在构造器中初始化,否则编译通不过;
    4. final局部变量必须在声明时赋值;
    5. 匿名类中使用的局部变量必须是final声明;
    6. final方法不能被重写;
    7. final类不能被继承;
    8. final关键字与finally无关,finally是用于异常处理;
    9. final关键字与finalize()方法区别,finalize()方法是在Object中定义的方法,是在垃圾回收之前被JVM调用的方法;
    10. interface中声明的变量本身都是final的;
    11. 将类,方法和变量声明为final变量能够提高性能,这样JVM就有机会进行估计然后优化;
    12. 按照java代码编程习惯,final变量就是常量,常量名要大写;
    13. 对于集合类对象声明为final,指的是集合变量的引用不能被修改,但是你得增删改查不受final的影响。
    14. final与abstract是反相关的,final类不能是abstract的;
    15. final方法在编译阶段进行绑定,成为静态绑定(static binding)。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值