final关键字
final
java中使用final修饰属性,局部变量,类,方法。final修饰的资源表示最终的,不可变。
final修饰类
public final class ClassName{
}
子类继承父类会默认继承父类非私有的属性和方法。通过方法的重写可以覆盖父类的功能。如果一个类使用final修饰,那么这个类不可被继承。一个final修饰的类不可能被扩展。对于具有性能要求和稳定性要求较高的类就推荐使用final修饰。
final修饰方法
final修饰的方法可以被继承,但是不能被重写。jdk中提供的Object#getClass()
final修饰局部变量
final修饰局部变量一旦初始化之后,值不可改变。
final修饰属性
final修饰属性一旦初始化之后值不可变。fianl修饰属性,系统不在提供初始化的操作。
final修饰的属性初始化的时机
1)成员变量或者静态变量可以在声明的同时进行初始化
2)成员变量可以在构造器中进行初始化
3)静态变量使用fianl修饰可以在静态块中进行初始化
常量
使用static final修饰的变量称为常量。通常常量变量全部使用大写,同时可以使用public修饰。
比如Math中的PI
l修饰的变量称为常量。通常常量变量全部使用大写,同时可以使用public修饰。
比如Math中的PI