基础问题:final关键字
2019-12-21 本文已影响0人
凉风拂面秋挽月
最常用的final就是定义常量
public static final double PI_VAULE = 3.14;
final方法
首先,我们应该了解定义为final的方法不能被重写。
将方法定义为final类型可以防止任何子类修改该类的定义与实现方式,同时定义为final的方法执行效率要高于非final方法。在修饰权限中曾经提到过private修饰符,如果一个父类的某个方法被设置为private修饰符,子类将无法访问该方法,自然无法覆盖该方法,所以一个定义为private的方法隐式被指定为final类型,这样无须将一个定义为private的方法再定义为final类型。
final类
定义为final的类不能被继承。
如果希望一个类不允许任何类继承,并且不允许其他人对这个类有任何改动,可以将这个类设置为final形式。
final类的语法如下:
final 类名{}
如果将某个类设置为final形式,则类中的所有方法都被隐式设置为final形式,但是final类中的成员变量可以被定义为final或非final形式。
在项目中创建FinalClass类,在类中定义doit()方法和变量a,实现在主方法中操作变量a自增。
final class FinalClass
{
int a = 3;
void doit()
{
}
public static void main(String args[])
{
FinalClass f = new FinalClass();
f.a++;
System.out.println(f.a); // 结果:4
}
}