Final
字面意思:最后的最终的
final可修饰变量和方法.
在某些情况,程序员可能有以下需求:
- 不希望父类中的某个方法被子类覆盖(override)时,可以用final关键字修饰.
- 当不希望某个类的某个变量被修改,可以用final修饰.
- 当不希望类被继承时,可以用final修饰.
package com.test;
public class Test1 {
public static void main(String[] args) {
BBB aa;
aa = new BBB();
System.out.println(aa.circle_rate);
}
}
class AAA {
int a = 100; //如果不给初始值默认为0
final float circle_rate = 3.1415926f;
public void sendMsg(){
System.out.println("发送消息");
}
final void ResiveMsg() {
System.out.println("接收消息");
}
}
class BBB extends AAA{
int a = 200;
float circle_rate = 3.1415926f +1;//在8.0中好像能够修改
/*void ResiveMsg() {
System.out.println("接收消息");
*/ //Cannot override the final method from AAA
}
执行结果:
4.1415925
Final 注意事项:
- final修饰的变量叫做常量,一般用xx__xx__xx来修饰
- final修饰的变量在定义时,必须赋值,并且以后不能再赋值。
final在什么时候用?
- 因为安全的考虑,类的某个方法不允许修改。
- 类不会被其他的类继承。
- 某些变量值是固定不变的,比如圆周率