final关键字可以修饰类、成员变量、方法、以及方法中的局部变量。
1、final修饰类可以使用final将类声明为final类。final类不能被继承,即不能有子类。例如:
final class A{
...
}
A就是一个final类,将不允许任何类声明成A的子类。有时候是出于一些安全性的考虑,将一些类修饰为final类。例如,Java在java.lang包中提供的String类对于编译器和解释器的正常运行有着很重要的作用,Java不允许用户程序扩展String类,为此,Java将它修饰为final类。
2、final修饰方法如果用final修饰父类中的一个方法,那么这个方法不允许子类重写,也就是说,不允许子类隐藏可以继承的final方法(老老实实继承,不做任何篡改)。
3、final修饰变量如果成员变量或局部变量被修饰为final,那他就是常量。由于常量在运行期间不允许再发生变化,所以常量在声明时没有默认值,这就要求程序在声明常量时指定该常量的值。
public class A {
final double PI = 3.1415926;
public double getArea(final double r){
//r = r + 1; //非法,不允许对final变量进行更新 *** 作
return PI * r * r;
}
public final void speak(){ //该final方法不允许被重写
System.out.println("hello world");
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)