Java学习笔记之四《final关键字》
来源:互联网 发布:unix网络编程 目录 编辑:程序博客网 时间:2024/04/28 02:36
Java核心思想学习——
final关键字的用法:
表示无法改变。使用final的三种情况:数据、方法和类。
final数据:
定义常量:基本数据类型——定义时必须赋值;
定义对象:final将使得引用恒定不变——引用被初始化指向唯一对象,无法改变其指向;对象自身可以变化,如数组也是一种引用。
final数据的赋值必须在域定义or构造器中使用表达式赋值,保证使用前总被初始化。
关于static final域:【只占据一段】【不能改变的】存储空间!属于编译期常量,使用大写表示,下划线分隔单词。
static final int VALUE_ONE = 20;
空白final:被声明为final但未给定初值的域;
一个类中的final域可以根据对象的不同而不同,在对象生命期中保持恒定不变。
final参数:
java允许在参数列表中以声明的方式将参数指定为final。指定为final的参数将无法在方法中更改参数引用所指对象——通常用于向匿名内部类传递数据。
final方法:
用于锁定方法,防止被继承类修改:保持不变,不被覆盖!
关于效率问题:编译器将针对方法的所有调用转为内嵌调用,以方法中实际代码的副本替代方法的调用;消除调用的开销,但会膨胀代码。
不要使用final方法进行代码优化。
仅仅在需要明确静止覆盖时,才设置finla方法。
注意所谓【覆盖】——
只有当某方法是基类接口的一部分,且必须是“能将一个对象向上转型”为其基类并调用相同方法时——才存在覆盖!
对于private方法:并不是基类接口,在导出类中生成同名方法——并不属于方法,只是一个同名的导出类方法而已!
所以:覆盖是针对基类接口方法而言的!
final类:
final class className
final类不允许继承!类中所有方法隐式定义为final——无法覆盖!
- Java学习笔记之四《final关键字》
- Java学习笔记之关键字final
- Java学习笔记之final关键字
- java学习笔记-final关键字
- JAVA笔记之Final关键字
- Java笔记之final关键字
- java学习之final关键字
- java学习之final关键字
- Java学习之final关键字
- Java学习笔记之final 关键字和抽象类
- Java学习笔记之深入理解关键字final
- java学习笔记 static,final关键字学习
- Java 学习笔记 (11) - final 关键字
- Java中final关键字学习笔记
- Java中final关键字学习笔记
- 学习笔记-JAVA-final关键字考点
- java学习笔记:final关键字 与 array
- Java 学习笔记(0x0D) final关键字
- Python屏幕取词(整理)
- xcode上使用c++代码的测试工具
- tomcat正常启动,但是localhost:8080或127.0.0.1:8080无法打开tomcat欢迎
- sql查询匹配数字开头或字母开头
- android 复制,剪切,粘贴
- Java学习笔记之四《final关键字》
- 关于Linux Shell的输出重定向
- Spring Boot的启动器Starter详解
- EL表达式格式化日期时间
- java单测 ch.qos.logback.core.joran.spi.JoranException: Parser configuration error occurred
- 如何删除【附加依赖项】中“继承的值”
- 【matlab】GUI CreateFcn+Callback+keypressfcn用法
- javascript类与继承
- Lucene实践:全文检索的基本原理