Java的final笔记

来源:互联网 发布:勇士vs雷霆第七场数据 编辑:程序博客网 时间:2024/05/29 12:14

final

final

final关键字可用于修饰类、变量、和方法。
final修饰变量时,该变量一旦获得了初始值就不可在改变。

final修饰成员变量

final修饰类变量

final修饰成员变量中的类变量必须在声明该变量时或在静态初始化块中分配初始值。

final修饰实例变量

final修饰实例变量时必须在非静态初始块、声明该实例变量或构造器中指定初始值。

系统不会对final变量进行隐式初始化,所以必须由程序员进行显示初始化。

final修饰基本类型变量和引用类型变量的区别

final在修饰基本类型变量时,其内容不会改变,但如果修饰的是一个引用类型变量的话,引用的地址虽然无法改变,但是该地址的内容是可以改变的。

可执行“宏替换”的final变量

对于final变量来说,只要满足三个条件,这个变量就不是一个变量而是相当于一个直接量。

final int a=5;System.out.println(a);System.out.println(5);//结果是一样的

final方法

final修饰的方法不能被重写

对于一个用final修饰的private的方法来说,依然可以在子类中定义一个和父类具有相同方法名、形参列表、返回值的方法,只不过二者之间并没有任何关系。

final虽然不允许重写方法,但是允许重载方法

final类

final修饰的类不能有子类。为确保某个类不能被继承,就可以使用final修饰这个类。

不可变类

不可变类的意思是创建该类的实例后,该实例的实例变量是不可改变的。

0 0
原创粉丝点击