如果不想让父类的成员被子类重写,可以在声明父类的成员时可以用final语句修饰。
在java中,可以使用final修饰的类,属性,方法。
使用final修饰的类不能有子类
使用final修饰的方法不能被子类重写
使用final修饰的变量是常量,常量不可修改。
使用final关键字修饰类
java
final class Animal{
int age;
}
class Dog extends Animal{
}
public class Final01 {
public static void main(String[] args) {
Dog dog=new Dog();
}
}
在上面代码中,Animal类被final修饰后,不能被子类Dog继承。
java
class Animal{
public final void shout() {}
}
class Dog extends Aniaml{
public void shout() {}
}
public class Final01 {
public static void main(String[] args) {
Dog dog=new Dog();
}
}
上面代码中,用final修饰了方法,这个方法就不能被子类重写
java
public class Final01 {
public static void main(String[] args) {
final int AGE=18;
AGE=20;
}
}
上面代码中,变量AGE被final修饰后成为常量,就不能再变更了