Java-final最终修饰符

简介:

最终修饰符

final修饰的 方法 可以和静态方法、普通方法重载

final可以修饰:属性,方法,类,局部变量(方法中的变量)

final修饰的 属性 的初始化可以在编译期,也可以在运行期,初始化后不能被改变

final修饰的 属性 跟具体对象有关,在运行期初始化的final属性,不同对象可以有不同的值

final修饰的 属性 ,表明该属性是一个常数创建后不能被修改

final修饰的 方法参数 ,表示在变量的生存期中它的值不能被改变(方法参数中的final引用,意味着在该方法内部,我们不能改变参数句柄指向的实际东西,也就是说在方法内部不能给形参句柄再另外赋值)

final修饰的 方法 ,表示该方法在子类中不能被重写

final修饰的 类 ,表示该类不能被继承。

被fianl修饰的变量不会自动改变类型,当2个final修饰相操作时,结果会根据左边变量的类型而转化

对于基本类型数据,final 会将值变为一个常数(创建后不能被修改);
对于对象引用(句柄),final 会将句柄变为一个常数(声明时,必须将句柄初始化到一个具体的对象,而且不能再将句柄指向另一个对象。但是,对象的本身是可以修改的。这一限制也适用于数组,数组也属于对象,数组本身也是可以修改的。)。

final只对引用的"值"(即内存地址)有效,它迫使引用只能指向初始指向的那个对象,改变它的指向会导致编译期错误。至于它所指向的对象的变化,final是不负责的。

相关文章
|
18天前
|
Java
final 在 java 中有什么作用
在 Java 中,`final` 关键字用于限制变量、方法和类的修改或继承。对变量使用 `final` 可使其成为常量;对方法使用 `final` 禁止其被重写;对类使用 `final` 禁止其被继承。
29 0
|
4月前
|
Java
【Java】static 类方法中注意事项
【Java】static 类方法中注意事项
|
7月前
|
Java
final 在 java 中有什么作用?
final 在 java 中有什么作用?
|
druid Java 编译器
Java的第七篇文章——面向对象接口(包含了接口、static修饰符、final修饰符、main方法、内部类等知识点)
Java的第七篇文章——面向对象接口(包含了接口、static修饰符、final修饰符、main方法、内部类等知识点)
|
Java 程序员 编译器
Java常量final
Java常量final
50 0
|
Java 程序员 C#
Java的final修饰符
可以将实例域定义为 final。对于 final 域来说,构建对象时必须初始化 final 实例域,构造对象之后就不允许改变 final 实例域的值了。 final 类和方法用来阻止继承。
126 0
|
Java C++
Java的static修饰符
本文主要介绍:静态域、静态常量、静态方法、工厂方法。
|
存储 Java 编译器
Java中的“ final”关键字如何工作?(我仍然可以修改对象)
Java中的“ final”关键字如何工作?(我仍然可以修改对象)
126 0
|
存储 Java
java中final修饰符,修饰变量、方法、类的详细用法
java中final修饰符,修饰变量、方法、类的详细用法
145 0