Java-final最终修饰符

简介:

最终修饰符

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

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

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

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

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

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

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

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

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

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

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

相关文章
|
5月前
|
设计模式 Java 编译器
java static作用
Java中的static关键字是一个非常重要的概念,它可以用来修饰类的成员变量、方法和代码块。在本文中,我们将深入探讨static的作用,以及如何正确地使用它。
|
6月前
|
Java
【Java】final关键字和final的四种用法
【Java】final关键字和final的四种用法
|
6月前
|
Java
每天一个面试题之final在java中有什么作用?
每天一个面试题之final在java中有什么作用?
|
7月前
|
Java 程序员 编译器
Java常量final
Java常量final
35 0
|
Java C++
Java的static修饰符
本文主要介绍:静态域、静态常量、静态方法、工厂方法。
|
Java 程序员 C#
Java的final修饰符
可以将实例域定义为 final。对于 final 域来说,构建对象时必须初始化 final 实例域,构造对象之后就不允许改变 final 实例域的值了。 final 类和方法用来阻止继承。
|
存储 Java 编译器
Java中的“ final”关键字如何工作?(我仍然可以修改对象)
Java中的“ final”关键字如何工作?(我仍然可以修改对象)
|
存储 Java
java中final修饰符,修饰变量、方法、类的详细用法
java中final修饰符,修饰变量、方法、类的详细用法
99 0
|
存储 Java 测试技术
Java中static修饰符的作用
Java中static修饰符的作用
172 0
|
设计模式 Java
java面对对象(下.1)(java关键字理解:static final main)
当我们编写一个类时,其实就是在描述其对象的属性和行为,而并没有产生实质上 的对象,只有通过 new 关键字才会产生出对象,这时系统才会分配内存空间给对象, 其方法才可以供外部调用。
java面对对象(下.1)(java关键字理解:static final main)