final关键字的用法
final关键字的作用
1.被final修饰的类不能被继承
报错信息:cannot inherit from final 'com.dajia.test.Animal'
2.被final修饰的方法不能被重写
报错信息:'eat()' cannot override 'eat()' in 'com.dajia.test.Animal'; overridden method is final
3.被final修饰的变量不能被改变
变量的引用不能改变?变量引用所指向的内容不能改变?
举例:
1 public class FinalTest { 2 private String str; 3 4 public FinalTest(String str){ 5 this.str = str; 6 } 7 8 public String getStr() { 9 return str; 10 } 11 12 public void setStr(String str) { 13 this.str = str; 14 } 15 } 16 17 //测试 18 public class TestController { 19 20 public static void main(String[] args) { 21 final FinalTest finalTest = new FinalTest("111"); 22 finalTest.setStr("222"); 23 System.out.println(finalTest.getStr()); 24 } 25 26 }
结果:
222
说明final修饰的变量所指向的内容可以被修改
1 public class TestController { 2 3 public static void main(String[] args) { 4 final FinalTest finalTest = new FinalTest("111"); 5 /*finalTest.setStr("222");*/ 6 final FinalTest finalTest1 = new FinalTest("222"); 7 finalTest = finalTest1; 8 System.out.println(finalTest.getStr()); 9 } 10 11 }
第六行编译报错:
报错信息:cannot assign a value to final variable 'finalTest'
结论:final修饰的变量的引用不能被改变,变量引用所指向的内容可以被改变。
转载于:https://www.cnblogs.com/zfyang2429/p/10304977.html
final关键字的用法相关推荐
- java final char_java基本数据类型总结 类型转换 final关键字的用法
java基本数据类型总结 Java数据类型总结 数据类型在计算机语言里面,是对内存位置的一个抽象表达方式,可以理解为针对内存的一种抽象的表达方式.接触每种语言的时候,都会存在数据类型的认识,有复杂的. ...
- 方法对象java final关键字的用法
之前一直在查找方法对象之类的问题,今天正好有机会和大家讨论一下. 1.用final关键字设置常数 很多程序设计语言都有自己的方法告知编译器某个数据是"常数".常数重要应用于下述两个 ...
- java final定义_Java中final关键字的用法
final在Java中并不常用,然而它却为我们提供了诸如在C语言中定义常量的功能,不仅如此,final还可以让你控制你的成员.方法或者是一个类是否可被覆写或继承等功能,这些特点使final在Java中 ...
- 【Java基本功】一文读懂final关键字的用法
本文主要介绍了final关键字的基本使用方法及原理 final关键字可以修饰类.方法和引用. 修饰类,该类不能被继承.并且这个类的对象在堆中分配内存后地址不可变. 修饰方法,方法不能被子类重写. 修饰 ...
- 【Java基本功】一文读懂final关键字的用法 1
本文主要介绍了final关键字的基本使用方法及原理 final关键字可以修饰类.方法和引用. 修饰类,该类不能被继承.并且这个类的对象在堆中分配内存后地址不可变. 修饰方法,方法不能被子类重写. 修饰 ...
- java抽象类与final关键字的用法
抽象类:使用abstract关键字定义的类就是抽象类 很多具有相同特征和行为的 对象 可以抽象成一个 类 很多具有相同 特征和行为的 类 可以抽象成一个 抽象类 抽象 ...
- java中final double_举例讲解Java中final关键字的用法
1. final variable final variable 就是一个常量,一旦被初始化就不可以被改变. class Test1 { final double PI = 3.14; //常量的名称 ...
- java中final关键字的用法
final:adj. 最终的,不可改变的 我们就取其字面意思"不可改变的". final可以修饰类.方法.变量.那么分别是什么作用呢? (1)修饰类:表示类不可被继承 (2)修饰方 ...
- 深入解析final关键字的用法
夫陶公清风千古,余又何人,敢称庶几 个人博客地址:http://blog.breez.work 文章目录 介绍 解析 final属性 final方法 final参数 final类 介绍 final用于 ...
- Android源码中final关键字的用法及final,finally,finalize的区别
Android开发的学习流程 final,finally,finalize的区别 Android的发展越来越快,Android开发人员越来越多,当两种情况碰撞,在诸多开发者中跟紧Android步伐脱颖 ...
最新文章
- Leetcode: 112. Path Sum
- 获得插入行身份的最佳方法?
- FastJson解析对象及对象数组--项目经验
- js返回上一页并刷新代码整理
- 深入理解Spark 2.1 Core (二):DAG调度器的原理与源码分析
- 你有把依赖注入玩坏?
- OpenCV中直方图的计算和绘制
- jQuery全局Ajax事件处理器
- 一步一步写算法(之哈夫曼树 上)
- ajaxpro定时刷新页面
- 通过WDS功能扩大无线网范围
- c语言写乘法表代码解读,C语言输出九九乘法表代码及解析
- Android开发案例 点击按钮出现 简易的消息提示框
- 内存映射文件原理(转载)
- C语言 生成随机数 分析给定范围的随机数生成公式
- 百度一下网页简单html源码
- openlayers4加载百度地图、百度影像图、谷歌地图、谷歌影像图
- 2023年全国最新二级建造师精选真题及答案55
- 51单片机 AT24C02 PROTEUS 读写程序 源码
- WIFI-TTL透传模块