Java学习:final关键字的使用与注意事项
final 关键字代表最终、不可改变的。
常见的四种用法
- 可以用来修饰一个类
- 可以用来修饰一个方法
- 可以用来修饰一个局部变量
- 可以用来修饰一个成员变量
1.
当final关键字用来修饰一个类的时候,格式:
public final class 类名称{
    //。。。
}
含义:
- 当前这个类不能有任何的子类。(太监类)
注意:
- 一个类如果是final的,那么其中所有的成员方法都无法进行覆盖重写(因为没有儿子)。
2.
当final关键字用来修饰一个方法的时候,这个方法就是最终方法,也就是不能被覆盖重写的。
格式:
修饰符 final 返回值类型 方法名称(参数列表){
//方法体
}
注意事项:
- 对于类、方法来,abstract关键字和final关键字不能同时使用,因为矛盾。
3.
一旦使用final用来修饰局部变量,那么这个变量就不能进行更改。
‘一次赋值,终身不变’
- 对于基本类型来说,不可变说的是变量当中的数据不可改变
- 对于引用类型来说,不可变说的是变量当中的地址值不可改变
4.
对于成员变量来说,如果使用final关键字修饰,那么这个变量也照样是不可变。
- 对于成员变量具有默认值,所以用了final之后必须手动赋值,不会再给默认值了
- 对于final的成员变量,要么使用直接赋值,要么通过构造方法赋值。二者选其一。
- 必须保证类当中所有重载的构造方法,都最终会对final的成员变量进行赋值。
Java学习:final关键字的使用与注意事项的更多相关文章
- JAVA面向对象-----final关键字
		JAVA面向对象-–final关键字 1:定义静态方法求圆的面积 2:定义静态方法求圆的周长 3:发现方法中有重复的代码,就是PI,圆周率. 1:如果需要提高计算精度,就需要修改每个方法中圆周率. 4 ... 
- 聊聊Java的final关键字
		Java的final关键字在日常工作中经常会用到,比如定义常量的时候.如果是C++程序员出身的话,可能会类比C++语言中的define或者const关键字,但其实它们在语义上差距还是挺大的. 在Jav ... 
- 2017.10.23  Java 面向对象深入学习---final 关键字、static关键字、匿名对象等
		今日内容介绍 1.final 关键字 2.static 关键字 3.匿名对象 4.内部类 5.包的声明与访问 6.访问修饰符 7.代码块 第一节课 01(面向对象)final关键字概念.avi 02: ... 
- java基础---->final关键字的使用
		这里介绍一些java基础关于final的使用,文字说明部分摘自java语言规范.心甘情愿这四个字,透着一股卑微,但也有藏不住的勇敢. Final关键字的说明 一.关于final变量规范说明 .A fi ... 
- java之final关键字
		final关键字(可以读不可以写.只读) 1.final的变量的值不能够被改变 ①.final的成员变量 ②.final的局部变量(形参) //意思是“实参”一旦传进我的方法里面,就不允许改变 2.f ... 
- Java的final关键字详解
		Java中的final关键字非常重要,它可以应用于类.方法以及变量.这篇文章中我将带你看看什么是final关键字?将变量,方法和类声明为final代表了什么?使用final的好处是什么?最后也有一些使 ... 
- java中final 关键字的作用
		final 关键字的作用 java中的final关键字可以用来声明成员变量.本地变量.类.方法,并且经常和static一起使用声明常量. final关键字的含义: final在Java中是一个保留的关 ... 
- Java基础 -- final关键字
		在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构.下面我们来了解一下final ... 
- Java中final关键字修饰变量、方法、类的含义是什么
		Java中的关键字final修饰变量.方法.类分别表示什么含义? 先看一个简单的介绍 修饰对象 解释说明 备注 类 无子类,不可以被继承,更不可能被重写. final类中的方法默认是final的 方法 ... 
随机推荐
- Qt QVector简单用法
			添加元素 QVector<QString> strArray; strArray.append("Hello"); 遍历 QVector<QString>: ... 
- OKHttp和NumberProgressbar组建强大的Android版本更新功能
			你们看过韩国电影<奇怪的她>不?女主角是不是超级漂亮的.......好啦,扯正事吧,先看看女神照片. 公司新项目用到了OKHttp网络框架,在下载文件这块都蒙圈啦,再查查资料就一个Reso ... 
- Java面经入口(持续更新...)
			大数据面经 https://zhuanlan.zhihu.com/go-for-it Java 基础知识复习 您可能不知道Java基础40道常见面试题及详细答案 hashcode详解 Java St ... 
- Linux从入门到放弃、零基础入门Linux(第一篇):计算机操作系统简介、linux介绍
			一.计算机操作系统简介 操作系统的定义: 操作系统是一个用来协调.管理和控制计算机硬件和软件资源的系统程序,它位于硬件和应用程序之间. 操作系统的内核的定义: 操作系统的内核是一个管理和控制程序,负责 ... 
- Natas25-writeup
			前言 题目链接: http://natas25.natas.labs.overthewire.org 做这一题花了一些时间,也是由于自己知识点掌握不足,所以分享下解题过程. 题目分析 首先,登录后看到 ... 
- SRT字幕格式
			[时间:2019-03] [状态:Open] [关键词:字幕,SRT,文件格式] 0 引言 视频文件中最简单.最常见的外挂字幕格式是SRT(SubRip Text).本人找了好久也没找到类似的标准文档 ... 
- 查看ISTIO-CITADEL的证书信息
			进行任何一个POD,查看/etc/certs目录,即可知道证书信息. kubectl exec -it reviews-v1-fd6c96c74-wptxg -c istio-proxy bash l ... 
- POJ 2516Minimum Cost(最小费用流+特判)
			[题意]: 有N个人,M个仓库,每个人需要物品,个数都等于共同的K,仓库中有对应的K件物品的数量,随后给K个N*M矩阵(小写k, n, m表示K,N,M对应的子集),表明m个仓库到第n个人的位置运送k ... 
- mybatis 模糊查询 mapper.xml的写法
			1. sql中字符串拼接 SELECT * FROM tableName WHERE name LIKE CONCAT(CONCAT('%', #{text}), '%'); 2. 使用 ${...} ... 
- Spring——JDBC——数据库
			1.Spring 的数据访问哲学 数据访问的功能放到一个或者多个专注于此项任务的组件.这样的组件通常称为数据访问对象(data access object)DAO或者Repository. 为了避免应 ... 
