final变量只能赋值一次,赋值的方式有三种:

  1)声明变量时直接赋值;

  2)非静态成员变量在{}块中赋值,静态成员变量在static{}块中赋值;

  3)非静态成员变量在构造方法中赋值。

  final修饰类

  final类不能被继承,因此不会有子类。final类中的方法不论是否有final修改,都是final的。

  下面定义了一个简单的final类:

  public final class FinalClass { }

  //下面的类继承将会出现编译错误

  class Sub extends FinalClass { }

  final修饰方法

  final方法不能被override。若父类中的方法为final的,则子类不能override该方法,但可以调用该方法(父类的final方法)。

  下面的程序试图重写final方法,将会引发编译错误:

  public class FinalMethod {

  public final void say () { }

  }

  class Sub extends FinalMethod {

  //下面方法将会出现编译错误

  public void say () { }

  }

  final成员变量

  final修饰的变量不可被改变,意思是不能被重新赋值。由于final修饰的成员变量不能重新赋值,所以Java语规定:final修饰的成员变量必须由程序员显示的指定初始值。

  final修饰的类变量和实例变量指定初始值得地方如下:

  1)类变量:必须在静态初始化块中指定初始值或声明该类变量时指定初始值,而且只能二选一指定。

  2)实例变量:必须在非静态初始化块、声明该实例变量或构造器中指定初始值,而且只能三选一指定。

  final修饰基本类型变量和引用类型变量的区别:

  当final修饰基本类型变量时,改基本类型变量不能被改变。但对于引用类型变量而言,它保存的仅仅只是引用,final只保证这个引用类型变量所引用的地址不会改变,即一直引用同一个对象,但这个对象完全可以发生改变。

Java中final关键字如何使用?相关推荐

  1. java中final关键字的使用

    final 中文翻译为 最终的,在java中也是较为常用的关键字之一. 在java 中 final 关键字可以修饰  类.方法.变量 final 修饰在类上,则表示该类不能被继承,如果里面的成员变量没 ...

  2. ACAC java中final关键字

    java中final关键字/*1.final关键字:java 中的一个关键字,最终的,不可变的可以修饰变量以及方法,还有类等.1.修饰的方法,修饰的类无法被覆盖,无法被重写,无法被继承写的方法不希望被 ...

  3. Java中final关键字的简介说明

    下文笔者讲述java中final关键字的功能简介说明,如下所示 final关键字功能 final关键字修饰的类.方法.变量都会产生特殊的意义 如:final关键字修饰过后的类不能被子类继承final关 ...

  4. [转载] Java中final关键字

    参考链接: Java中的final关键字 文章目录 1 final关键字1.1 final修饰类1.2 final修饰方法1.3 final修饰属性---常量1.3.1 final修饰普通数据类型的成 ...

  5. 关于Java中final关键字的详细介绍

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

  6. Java中final关键字的几种用法

    在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构.下面大家跟随动力节点java ...

  7. java中final关键字、权限修饰符、内部类(成员内部类、局部内部类、匿名内部类)

    final关键字: final表示最终的不可变的,在java中可以用来修饰类或方法.局部变量.成员变量. // 1.final关键字修饰类需要放在class关键字前面,表示不可变的类,需要注意,这里表 ...

  8. final关键字_夯实基础:Java中final关键字的几种用法

    导语 在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构. 关于static请查 ...

  9. Java中final关键字的作用与用法

    一.特点 1.final从字面上理解含义为"最后的,最终的". 2.final可以用来修饰变量(包括类属性.对象属性.局部变量.形参),方法(包括类方法和对象方法)以及类. 二.用 ...

  10. Java中final关键字的作用

    final关键字可以用来修饰引用.方法和类. 1.用来修饰一个引用 如果引用为基本数据类型,则该引用为常量,该值无法修改: 如果引用为引用数据类型,比如对象.数组,则该对象.数组本身可以修改,但指向该 ...

最新文章

  1. 版本效果MoonWarrior cocos2d-x版本 --1
  2. Zookeeper配置文件中的配置项解释和Zookeeper的安装
  3. 浅谈如何增强ASP程序性能
  4. boost::timer::progress_display相关的测试程序
  5. Leecode刷题热题HOT100(4)——寻找两个正序数组的中位数
  6. 网站缓存数据实时更新的实现
  7. vb mysql 插入记录_vb实现数据库的连接,修改,删除,插入(ADO.Net)
  8. 第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(昆明),签到题J Parallel Sort
  9. C++并发与多线程(一)线程传参
  10. maven依赖的作用域\<scope>
  11. matlab 2012 简明教程,MATLAB 2012简明教程
  12. WIN10 企业版 LTSC 激活
  13. 景区门票分销系统解决方案
  14. 普中28335开发攻略_TMS320F28335项目开发记录5_28335之CCS编程基础
  15. python删除图片文字_ps去掉图片上的文字的6种方法
  16. speedoffice表格如何根据身份证号计算年龄
  17. H5端input标签通过手机软键盘进行搜索,并关闭软键盘
  18. python强制终止_python强制终止
  19. Python分析双色球,中大奖指日可待
  20. 游戏模型师是做什么的?薪资高不高?

热门文章

  1. inet_pton和inet_ntop函数
  2. GDI+ Bitmap与WPF BitmapImage的相互转换
  3. Tensorflow 全网最全学习资料汇总之框架平台的综合对比【3】
  4. Java中Filter、Servlet、Listener的学习
  5. 精品德国软件 UltraShredder 文件粉碎机
  6. 分享一个mysql 复杂查询的例子
  7. PHP设计模式(4)命令链模式
  8. 摘自一个读者读后rework的感受
  9. Android Display System --- Surface Flinger
  10. C#中使用Monitor类、Lock和Mutex类来同步多线程的执行(转)