Java中final关键字的使用
final关键字可以修饰类、成员变量和方法中的局部变量
1、final类
可以使用final将类声明为final类,final类不能被继承。例如
final Class A{
.....
}
A类就是一个final类,将不允许任何类声明成A的子类。有时是出于安全性的考虑,将一些类修饰为final类。例如,Java在java.lang包中提供的String类对于编译器和解释器的正常运行有很重要的作用,Java不允许用户程序扩展String类。
2、final方法
如果用final修饰父类中的一个方法,那么这个方法不允许子类重写,也就是说,不允许子类隐藏可以继承的final方法(老老实实的继承,不允许任何的篡改。
3、常量
如果成员变量或局部变量被修饰为final,那它就是一个常量。由于常量在运行期间不允许再发生任何变化,所以常量在声明时一般没有默认值,这就要求程序在声明常量时必须指定该常量的值。
public class FinalTest {
static class A{
final double PI = 3.1415926;//声明常量PI并赋值
public double getArea(final double r){
//r使用了final修饰,无法对r做修改
return PI*r*r;
}
public final void finalSpeak(){
System.out.println("这是一个final方法,你是没办法改动的噢~");
}
}
public static void main(String[] args) {
A a = new A();
System.out.println("半径为5的圆的面积为:" + a.getArea(5));
a.finalSpeak();
}
}
输出结果为:
半径为5的圆的面积为:78.539815
这是一个final方法,你是没办法改动的噢~