一、final修饰类(常量类)
1、final常量类不可以被继承
public final class Myclass{}//常量类
public class Test extends Myclass{}//报错
2、常量类的成员变量可以按照需求设计成final
3、成员方法会隐饰转化为final(常量方法)
- 场景:当一个类不可以被继承时,可以定义为final(谨慎使用)
二、final修饰成员方法
1、原因:
- 将方法锁定,以防任何类通过继承修改该成员方法
- 优化程序,提高效率(低版本)(编译时复制需要代码,运行时直接执行)
2、只有明确禁止该方法在子类被重写的情况下,才可以将该方法修饰为final
1、修饰为final的成员方法在使用时:若一个基类所有派生类在实现同一个方法时过程相同,那么可以将该方法在基类中共享实现,定义为final可以实现该过程
2、基类中的private方法被隐饰的转化为final
三、final修饰成员变量
1、属于对象
2、将对象的成员变量修饰为常量
1、final修饰成员变量时必须初始化
初始化方法:
1、直接初始化
2、使用构造器
2、成员变量属于对象,但修饰为final,则值不可修改
一旦final修饰成员变量:那么该类无论有多少对象,所有对象的成员变量都相同且不可改
---通过构造器完成初始化
四、final 修饰引用
-引用是常量
-引用的对象是变量
1、这个final引用在第一次引用对象后,不可在变
2、引用的对象是变量
五、final修饰局部变量(方法的普通变量)
特殊的局部变量:形参
1、必须初始化
2、替换执行
x+y==》7+8直接替换