Java学习之final关键词
来源:互联网 发布:linux shell exec 编辑:程序博客网 时间:2024/05/29 15:56
- final 数据
- 常量:基本数据类型、final修饰、定义时必须对其赋值。
- 编译期常量
- 不能因为某数据是final的就认为在编译时可以知道它的值,如:
public final int a = rand.nextInt(20);
- Java允许生成“空白final域”,所谓空白的final是指被声明为final但未给定初值的域。
- 初始化方式:必须在域的定义处或者每个构造器中用表达式对fianl进行赋值
- final参数:Java允许在参数列表中以声明的方式将参数指明为final。表明:方法中无法修改参数引用所指向的对象。
- final 方法
- 使用final方法的原因
- 把方法锁定,禁止继承类修改它的含义、并且不会被覆盖。
- 效率(忽略,早起版本适用)
- final和private关键字
- 类中所有的private方法都隐式地指定为是final的。无法取用、覆盖private方法。
- 一种特殊情况:以下f()方法并非覆盖而是创建了一个新方法。
- 使用final方法的原因
class WithFinals { private final void f() { System.out.println("WithFinals.f()"); } private void g() { System.out.println("WithFinals.g()"); }}class OverridingPrivate extends WithFinals { private final void f() { System.out.println("OverringPrivate.f()"); } private void g() { System.out.println("OverrringPrivate.g()"); }}class OverridingPrivate2 extends OverridingPrivate { public final void f() { System.out.println("OverringPrivate2.f()"); } public void g() { System.out.println("OverringPrivate2.g()"); }}public class FinalOverridingIllusion { public static void main(String[] args) { OverridingPrivate2 op2 = new OverridingPrivate2(); op2.f(); op2.g(); OverridingPrivate op = op2; WithFinals wf = op2; }}
- final 类
- final类中所有的方法都隐式的指定为final的
- 无法继承
0 0
- Java学习之final关键词
- Java之final关键词详解
- 关键词static、final、 static final学习
- Java关键词final和static
- java学习之final关键字
- java学习之final关键字
- java基础学习之final
- Java学习之final关键字
- final关键词
- java中final关键词的作用
- 小白笔记---------------------------------------java关键词final
- Java:final关键词使用(上)
- Java:final关键词使用(下)
- java学习日记_38:final关键词的引入和修饰对象的特点
- Java学习笔记之Final(Static)变量
- java学习之Object,final,interface
- java之static 和 final学习
- Java学习笔记之关键字final
- Spring基础学习总结
- 第8周项目5 - 计数的模式匹配.cpp
- Java中常见知识点
- Object-c学习笔记
- 大数据告诉你:美联储若加息将如何影响A股
- Java学习之final关键词
- Intent详细介绍及使用实例
- url是jsp后跟参数
- oracle 创建表空间,用户并授权
- Objective--C UISegmentedControl 交通灯
- 逆向工程(一):汇编、逆向工程基础篇
- 第9周项目2 - 对称矩阵压缩存储的实现与应用(1).cpp
- leetcode刷题日记——Excel Sheet Column Number
- Struts2获取request的几种方式汇总(list对象获取)