final关键字可以用来修饰类、方法和引用。
若Labrador作为最底层的类,后面无子类, 此时使用final标志Labrador是最终类。
一、final修饰类
final修饰的类不能被继承。
public final class Labrador extends Dogs{}
二、final修饰方法
final修饰的方法不能重写,但可以被使用。
// 在Dogs类中
public final boolean isGuideBlindness(){
return false;
}
//---------------------------------------------
// 在Labrador类是中
/* Labrador类是Dogs类的子类
Dogs类中用final定义了isGuideBlindness()方法
则此时Labrador类中不能重写父类中的isGuideBlindness()方法
*/
public boolean isGuideBlindness(){
return ture;
}
// isGuideBlindness()方法运行不通过
三、 修饰引用
- 如果引用为基本数据类型,则该引用为常量,final修饰的常量不能被修改。
private static final String TEXT_COMMUNITY_NAME="NanG";
此时不能再更改TEXT_COMMUNITY_NAME的赋值,它处于写死状态。
-
如果引用为引用数据类型,比如对象、数组,则该对象、数组本身可以修改,但指向该对象或数组的地址的引用不能修改。
-
如果引用为类的成员变量,则必须当场赋值,否则编译会报错。