网站首页 > 精选教程 正文
final
根据程序上下文含义,final的关键字有“这是无法改变的”或者“终态的”意义,它可以修饰非抽象类、非抽象类的成员方法与变量。
final类不能被继承,没有子类,final类中的方法默认是final类型的。
final方法不能被子类的方法覆盖,但可以被继承。
final成员变量表示常量,只能被赋值一次,赋值后值不再变更。
final不能用于修饰构造方法。
Notice:由于父类的Private成员方法是不能被子类方法覆盖(Override),因此Private类型方法默认final类型。
final类
final类是不能被继承的,因此final类的成员方法没有机会被覆盖(Override),默认都是final的。
在设计类时候,如果这个类不没必要有子类,而且类的具体实现不允许改变,且确定该类不会载被扩展,那么应该设计为final类型。
final方法
如果一个类的某个方法不允许其子类覆盖,则可以把这个方法声明为final方法。
使用final方法的原因有二:
把方法锁定,防止任何继承类修改它的意义与实现。
高效。编译器在遇到调用final方法时候会转入内嵌机制,大大提高执行效率。
final变量(常量)
用final修饰的成员变量表示常量,值一旦给定就无法改变!
final修饰的变量有三种:静态变量、实例变量和局部变量,分别表示三种类型的常量。
另外,final变量定义的时候,可以先声明,而不赋初值,这中变量也称为final空白。无论什么情况,编译器都确保空白final在使用之前必须被初始化。但是,final空白在关键字final的使用上提供了更大的灵活性。为此,一个类中的final数据成员就可以实现依对象而有所不同,却有保持其恒定不变的特征。
final参数
当函数参数为final类型时,你可以读取使用该参数,但是无法改变该参数的值。
猜你喜欢
- 2024-10-30 java 你用了这么久,真的明白static和final的区别么?
- 2024-10-30 JAVA笔记(十五)面向对象——关键字abstract、final
- 2024-10-30 「java面试_01」String类为什么是final
- 2024-10-30 Java编程思想:final 关键字 java中finally关键字
- 2024-10-30 Java八股文:final、finally、finalize之间有什么区别
- 2024-10-30 在java中String类为什么要设计成final?Java面试常见问题
- 2024-10-30 lambda中的外部局部变量为什么需要声明final?
- 2024-10-30 java笔记static和final用法 java static与final
- 2024-10-30 Java中为什么String类被定义成final
- 2024-10-30 Java中的final修饰符 java中final可以修饰接口吗
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)