时间:2021-05-19
概念
final 具有“不可改变的”的含义,可以修饰 非抽象类、非抽象成员方法和变量。
注:
final 不能用来修饰构造方法,因为“方法覆盖”这一概念仅适用于类的成员方法,而不适用于类的构造方法,父类的构造方法和子类的构造方法之间不存在覆盖的关系,因此用final修饰构造方法没有任何意义。
父类中用 private 修饰的方法不能被子类的方法所覆盖,因此可以理解为 private 类型的方法默认是 final 类型的。
final 类
把类定义为 final,使这个类不能被继承。具体使用场景如下:
例如:JDK中的java.lang.String 类被定义为 final 类型。
public final class String{...}
final 方法
在某些情况下,出于安全原因,父类不允许子类覆盖某个方法,此时可以把这个方法声明为 final 类型。
例如:JDK中的java.lang.Object 类中,getClass()方法为 final 类型,而 equals() 方法不为 final 类型。
所有 Object 的子类都可以覆盖 equals() 方法,但不能覆盖 getClass() 方法。
final 变量
用 final 修饰的变量表示取值不会改变的常量。
例如:JDK中 java.lang.Integer 类中定义了两个常量。
public static final int MIN_VALUE = 0x80000000;
public static final int MAX_VALUE = 0x7fffffff;
final 变量具有以下特征:
静态常量一般以大写字母命名,单词之间以“_”符号分开。
final 变量只能赋一次值,如果将引用类型的变量用 final 修饰,该变量只能始终引用一个对象,但可以改变对象的内容。
public class FinalTest { String str = ""; public void print(){ System.out.println(str); } public static void main(String[] args){ final FinalTest finalTest = new FinalTest(); finalTest.str = "xixihaha"; finalTest.print(); } }总结:
实际程序中,通过 final 修饰符来定义常量,目的为:
以上就是本文的全部内容,希望对大家的学习有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
java中的final关键字详解final的作用随着所修饰的类型而不同1、final修饰类中的属性或者变量无论属性是基本类型还是引用类型,final所起的作用都
Java中finalize()详解在程序设计中,我们有时可能希望某些数据是不能够改变的,这个时候final就有用武之地了。final是Java的关键字,它所表示
本文为大家分享了java中final修饰符的使用,供大家参考,具体内容如下1.final修饰符的用法:final可以修饰变量,被final修饰的变量被赋初始值之
javafinal关键字详解:前言:Java中的final关键字非常重要,它可以应用于类、方法以及变量。这篇文章中我将带你看看什么是final关键字?将变量,方
java中静态导入机制用法实例详解这里主要讲解了如何使用Java中静态机制的用法,这里提供了简单实例大家可以参考下。静态常量类在java开发中,我们会经常用到一