Java中final关键字如何使用?
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关键字如何使用?相关推荐
- java中final关键字的使用
final 中文翻译为 最终的,在java中也是较为常用的关键字之一. 在java 中 final 关键字可以修饰 类.方法.变量 final 修饰在类上,则表示该类不能被继承,如果里面的成员变量没 ...
- ACAC java中final关键字
java中final关键字/*1.final关键字:java 中的一个关键字,最终的,不可变的可以修饰变量以及方法,还有类等.1.修饰的方法,修饰的类无法被覆盖,无法被重写,无法被继承写的方法不希望被 ...
- Java中final关键字的简介说明
下文笔者讲述java中final关键字的功能简介说明,如下所示 final关键字功能 final关键字修饰的类.方法.变量都会产生特殊的意义 如:final关键字修饰过后的类不能被子类继承final关 ...
- [转载] Java中final关键字
参考链接: Java中的final关键字 文章目录 1 final关键字1.1 final修饰类1.2 final修饰方法1.3 final修饰属性---常量1.3.1 final修饰普通数据类型的成 ...
- 关于Java中final关键字的详细介绍
Java中的final关键字非常重要,它可以应用于类.方法以及变量.这篇文章中我将带你看看什么是final关键字?将变量,方法和类声明为final代表了什么?使用final的好处是什么?最后也有一些使 ...
- Java中final关键字的几种用法
在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构.下面大家跟随动力节点java ...
- java中final关键字、权限修饰符、内部类(成员内部类、局部内部类、匿名内部类)
final关键字: final表示最终的不可变的,在java中可以用来修饰类或方法.局部变量.成员变量. // 1.final关键字修饰类需要放在class关键字前面,表示不可变的类,需要注意,这里表 ...
- final关键字_夯实基础:Java中final关键字的几种用法
导语 在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构. 关于static请查 ...
- Java中final关键字的作用与用法
一.特点 1.final从字面上理解含义为"最后的,最终的". 2.final可以用来修饰变量(包括类属性.对象属性.局部变量.形参),方法(包括类方法和对象方法)以及类. 二.用 ...
- Java中final关键字的作用
final关键字可以用来修饰引用.方法和类. 1.用来修饰一个引用 如果引用为基本数据类型,则该引用为常量,该值无法修改: 如果引用为引用数据类型,比如对象.数组,则该对象.数组本身可以修改,但指向该 ...
最新文章
- 版本效果MoonWarrior cocos2d-x版本 --1
- Zookeeper配置文件中的配置项解释和Zookeeper的安装
- 浅谈如何增强ASP程序性能
- boost::timer::progress_display相关的测试程序
- Leecode刷题热题HOT100(4)——寻找两个正序数组的中位数
- 网站缓存数据实时更新的实现
- vb mysql 插入记录_vb实现数据库的连接,修改,删除,插入(ADO.Net)
- 第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(昆明),签到题J Parallel Sort
- C++并发与多线程(一)线程传参
- maven依赖的作用域\<scope>
- matlab 2012 简明教程,MATLAB 2012简明教程
- WIN10 企业版 LTSC 激活
- 景区门票分销系统解决方案
- 普中28335开发攻略_TMS320F28335项目开发记录5_28335之CCS编程基础
- python删除图片文字_ps去掉图片上的文字的6种方法
- speedoffice表格如何根据身份证号计算年龄
- H5端input标签通过手机软键盘进行搜索,并关闭软键盘
- python强制终止_python强制终止
- Python分析双色球,中大奖指日可待
- 游戏模型师是做什么的?薪资高不高?
热门文章
- inet_pton和inet_ntop函数
- GDI+ Bitmap与WPF BitmapImage的相互转换
- Tensorflow 全网最全学习资料汇总之框架平台的综合对比【3】
- Java中Filter、Servlet、Listener的学习
- 精品德国软件 UltraShredder 文件粉碎机
- 分享一个mysql 复杂查询的例子
- PHP设计模式(4)命令链模式
- 摘自一个读者读后rework的感受
- Android Display System --- Surface Flinger
- C#中使用Monitor类、Lock和Mutex类来同步多线程的执行(转)