final变量
final关键字可以用于变量声明,一旦该变量被设定,就不可以再改变该变量的值。通常,由final定义的变量为常量。例如:
final double PI=3.14;
当程序使用PI这个变量时,它的值就是3.14。如果在程序中再次对定义final的常量赋值,编译器将不会接受。比如:
public class hello {
static final double PI=3.1415926;
public static void main(String[] args) {
System.out.println("圆周率的值为:"+PI);
PI=3.1415927; //尝试修改PI的值
}
}
如此程序便会报出错误。
final方法
将方法定义为final类型,可以防止子类修改父类的定义与实现方法,同时定义为final的方法的执行效率要高于非final方法。在修饰权限中曾经提到过private修饰符,如果一个父类的某个方法被设置为private,子类将无法访问该方法。也就是说,一个定义为private的方法隐试被指定为final类型,因此无须将一个定义为private的方法再定义为final类型。
class dad {
public final void main(String[] args) {
System.out.println("kj");
}
}
class baby extends dad{
public final void main(String[] args) {
System.out.println("jk");
}
}
仍然会出现报错。