原文

Java中的final关键字非常重要,它可以应用于类、方法以及变量。这篇文章中我将带你看看什么是final关键字?将变量,方法和类声明为final代表了什么?使用final的好处是什么?最后也有一些使用final关键字的实例。final经常和static一起使用来声明常量,你也会看到final是如何改善应用性能的。

final关键字的含义?

final在Java中是一个保留的关键字,可以声明成员变量、方法、类以及本地变量。一旦你将引用声明作final,你将不能改变这个引用了,编译器会检查代码,如果你试图将变量再次初始化的话,编译器会报编译错误。

什么是final变量?

凡是对成员变量或者本地变量(在方法中的或者代码块中的变量称为本地变量)声明为final的都叫作final变量。final变量经常和static关键字一起使用,作为常量。下面是final变量的例子:

public static final String LOAN = "loan";
LOAN = new String("loan") //invalid compilation error

final变量是只读的。

什么是final方法?

final也可以声明方法。方法前面加上final关键字,代表这个方法不可以被子类的方法重写。如果你认为一个方法的功能已经足够完整了,子类中不需要改变的话,你可以声明此方法为final。final方法比非final方法要快,因为在编译的时候已经静态绑定了,不需要在运行时再动态绑定。下面是final方法的例子:

什么是final类?

使用final来修饰的类叫作final类。final类通常功能是完整的,它们不能被继承。Java中有许多类是final的,譬如String, Interger以及其他包装类。下面是final类的实例:

10074---深入理解Java中的final关键字相关推荐

  1. 深入理解Java中的final关键字

    深入理解Java中的final关键字 http://www.importnew.com/7553.html Java中的final关键字非常重要,它可以应用于类.方法以及变量.这篇文章中我将带你看看什 ...

  2. (转)深入理解Java中的final关键字

    转自:http://www.importnew.com/7553.html Java中的final关键字非常重要,它可以应用于类.方法以及变量.这篇文章中我将带你看看什么是final关键字?将变量,方 ...

  3. java final 变量 好处_深入理解Java中的final关键字

    Java中的final关键字非常重要,它可以应用于类.方法以及变量.这篇文章中我将带你看看什么是final关键字?将变量,方法和类声明为final代表了什么?使用final的好处是什么?最后也有一些使 ...

  4. java中final是啥意思_(转)深入理解Java中的final关键字

    Java中的final关键字非常重要,它可以应用于类.方法以及变量.这篇文章中我将带你看看什么是final关键字?将变量,方法和类声明为final代表了什么?使用final的好处是什么?最后也有一些使 ...

  5. 浅谈Java中的final关键字

    浅析Java中的final关键字 谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来 ...

  6. 浅析Java中的final关键字

    浅析Java中的final关键字 谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来 ...

  7. 【转】浅析Java中的final关键字

    谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法. ...

  8. 在Java中使用final关键字可以提高性能吗?

    本文翻译自:Does use of final keyword in Java improve the performance? In Java we see lots of places where ...

  9. 如何理解 JAVA 中的 volatile 关键字

    如何理解 JAVA 中的 volatile 关键字 最近在重新梳理多线程,同步相关的知识点.关于 volatile 关键字阅读了好多博客文章,发现质量高适合小白的不多,最终找到一篇英文的非常通俗易懂. ...

最新文章

  1. Dokcer启动2个mysql容器
  2. RSA 加解密算法详解
  3. ubuntu 16.04 更换国内源(下载源)(阿里源)(换源)
  4. U3D开发中关于脚本方面的限制-有关IOS反射和JIT的支持问题
  5. C sharp实例:华盾武器门数据接收和解析
  6. C和指针之动态内存分配malloc、calloc、realloc简单使用和区别
  7. 数据库事务及隔离级别
  8. 日立数据系统进一步加强与IBM zHPF大型机合作
  9. 树莓派(raspberry pi)系统开发
  10. python制作系统监控_用python做一个系统监控程序
  11. 电子商务数据运营的五大应用
  12. ad19做直插封装 ipc_共享一下自己的PCB封装库(Altium Designer)
  13. VR全景智慧城市三维实景的建设和呈现目标
  14. HttpPrinter-网页打印控件
  15. mfs java_mFS文件系统 - java学者 - OSCHINA - 中文开源技术交流社区
  16. 以数为基,云启健康未来|“对标世界一流管理——走进一心堂暨生命科学行业峰会”圆满落幕
  17. python中的matplotlib绘图
  18. 计算机初级试卷,计算机初级试题及答案
  19. poj 2955 区间dp
  20. 流氓软件与“强奸文化”

热门文章

  1. JSON-spirit用法
  2. 云图说丨初识云速建站服务
  3. 嵌入式ARM64 Linux内核FIT uimage方式启动
  4. CAN通信标准帧和扩展帧
  5. 我,心在痛。。。。。。
  6. matlab 沃尔什,Walsh-Hadamard 变换
  7. 虚拟机网络连接方式 主机连接WLAN(wifi)时
  8. 求数列中的第1~k小元素
  9. 应用层协议 HTTP HTTPS
  10. JSP基础教程:熟悉JSP服务器