final

来源:互联网 发布:美国历史gdp数据统计 编辑:程序博客网 时间:2024/06/01 08:11

final关键字可用于修饰类、变量和方法,用于表示修饰的类、变量和方法不可见。
final 成员变量:
成员变量是随类初始化或对象初始化而初始化的,初始化时系统会为该类的类(实例)变量分配内存,并分配默认值。
final修饰的成员变量必须由程序员显示地指定初始值。
final修饰的类变量、实例变量能指定初始值的地方如下:
1、类变量:必须在静态初始化块中指定初始值或声明该类变量时指定初始值,而且只能在两个地方的其中之一指定。普通类方法、普通实例方法、普通初始化块都不能为final类变量赋值。
2、实例变量:必须在非静态初始化块、声明该实例变量或构造器中指定初始值。而且只能在这三个地方的其中之一指定。普通方法不能为final实例变量赋值。
不要在初始化之前就访问成员变量的值。

final局部变量:
系统不会对局部变量进行初始化,局部变量必须由程序员显示初始化。
final修饰的形参,不能对其赋值。因为形参在调用方法时,有系统根据传入的参数来完成初始化。

final方法
final修饰的方法不可被重写。
放父类使用private修饰方法时,即使子类有与父类方法名相同饭、形参列表相同、返回值相同类型的方法,也不是重写,只是定义了一个新方法。所以使用private final修饰父类方法,子类可以“重写”(不是真正意义重写)。

final类
final修饰的类不可以有子类

原创粉丝点击