final 加深记忆

Java语言中的final关键字,想必都不陌生了。本来主要是来对final做关键字做一个总结。

一、使用Final修饰符修饰的类的特点:该类不能有子类;
修饰类当用final去修饰一个类的时候,表示这个类不能被继承。
注意:
a. 被final修饰的类,final类中的成员变量可以根据自己的实际需要设计为fianl。
b. final类中的成员方法都会被隐式的指定为final方法
c、在自己设计一个类的时候要分析好这个类的作用(是否会被继承这种情况),一般的工具类我们会设计成final的
jdk中String、Integer、System 等都是final继承的类。

d、final类的对象一旦被创建就不能被更改了。String类是典型的不可变类的代表。其有很多好处,譬如对象是只读的,可以在多线程环境下安全的共享,不用额外的同步开销等等。

二、使用Final修饰符修饰的对象的特点:该对象的引用地址不能改变;
注意;理解为琪引用不可以改变,但是其对应中变量可以改变
例子为

在这里插入图片描述

三、使用Final修饰符修饰的方法的特点:
该方法不能被重写;方法被final 修饰,如果你认为一个方法的功能已经足够完善了,子类中无需改变的话你可以使用final修饰此方法。final方法要比普通的方法要快,因为在编译时已经静态绑定了,不需要再运行时动态绑定。

注意:

a. 一个类的private方法会隐式的被指定为final方法。

b. 如果父类中有final修饰的方法,那么子类不能去重写

四、使用Final修饰符修饰的变量的特点:
变量被final修饰(包括成员变量和局部变量),final变量不能再次改变其引用。final经常与static一起声明常量。注意接口中的变量本身是final的

注意:
a. 必须要赋初始值,而且是只能初始化一次。

猜你喜欢

转载自blog.csdn.net/weixin_40809627/article/details/106335817