黑马程序员 java关键字final
来源:互联网 发布:u盘未格式化 数据恢复 编辑:程序博客网 时间:2024/06/05 14:41
---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IO开发S</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------
final是一个修饰符
特点:
(1)可以修饰类,函数,变量。
(2)被final修饰的类不可以被继承。
用final修饰类是为了避免被继承,被子类复写方法。
Demo被final修饰,如果被继承,编译出错
如下代码:
(3)被final修饰的方法不可以被复写
代码:
class Demo{final void show1() //不允许被复写{}void show2(){}}class SubDemo extends Demo{void show1(){}}
编译结果:
FinalDemo.java:21: 错误: SubDemo中的show1()无法覆盖Demo中的show1()
void show1(){}
^
被覆盖的方法为final
1 个错误
(4)被final修饰的变量是一个常量只能赋值一次,final既可以修饰成员变量,又可以修饰局部变量
代码:
class Demo{final int x = 3;// 成员变量的值终生为3void show1() {}void show2(){final int y = 4; // 局部变量的值终生为4y = 9; //这句编译会出错}}
编译结果:
FinalDemo.java:20: 错误: 无法为最终变量y分配值
y = 9; //这句编译会出错
^
1 个错误
y = 9; //这句编译会出错
^
1 个错误
应用:
当在描述事物时,一些数据的出现值是固定的,那么这时为了增强阅读性,都给这些值起个名字,方便于阅读。
而这个值不需要改变,所以加上final修饰。
当在描述事物时,一些数据的出现值是固定的,那么这时为了增强阅读性,都给这些值起个名字,方便于阅读。
而这个值不需要改变,所以加上final修饰。
如:
public static final double PI = 3.14; //圆周率 全局常量final double MY_PI = 3.14; //当多个单词构成常量名,单词间用下划线连接
(5)内部类定义在类中的局部位置上时,只能访问该局部被final修饰的局部变量
---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IO开发S</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------
- 黑马程序员 java关键字final
- 黑马程序员---java中的final static 关键字
- 黑马程序员-final关键字
- 黑马程序员----final关键字
- 20.黑马程序员-final关键字
- 黑马程序员--final关键字特点
- 黑马程序员:final关键字介绍
- 黑马程序员___ final关键字
- 黑马程序员—final关键字
- 黑马程序员-----java中final关键字、抽象类、接口总结*
- “黑马程序员”Java中final关键字,抽象类与接口
- 黑马程序员——Java---构造函数,final关键字
- 黑马程序员-static和final关键字
- 黑马程序员_static和final关键字
- 黑马程序员_this satatic final关键字总结
- 黑马程序员—继承与final关键字
- 黑马程序员----final和static关键字
- 黑马程序员-final关键字的特点
- 如何高效利用GitHub
- android应用程序fps meter[帧数显示]的分析 —— 浅谈root的风险 (3)
- Android学习之广播机制(2)
- log4j配置
- Java菜鸟学习笔记--配置篇(二):Ubuntu JDK环境变量配置与常见问题
- 黑马程序员 java关键字final
- 会“变身”的折线图(FusionChart)
- Setting property 'source' to 'org.eclipse.jst.jee.server:webProject' did not find a matching propert
- 题目1002:Grading
- Linux Socket编程(不限Linux)
- 快速制作linux启动U盘
- NS3官方网站
- 我是如何写作一本软件+哲学式的书籍的(上)
- jquery自定义插件