final英文翻译过来是最终的意思。在Java中final关键字可以修饰类,方法,变量
- final关键字修饰的类该类不能被继承
//Animal类被final关键字修饰 public final class Animal { void show(){ System.out.println("我是父类...."); } } //Pig继承Animal,由于Animal被final关键字修饰,编译会不通过 public class Pig extends Animal { //编译器提示Cannot inherit from final 'xxxxx.Animal',会编译不通过 }
- final关键字修饰的方法不能被子类重写
//Animal类被final关键字修饰 public class Animal //show()方法使用final关键字修饰 final void show(){ System.out.println("我是父类...."); } } public class Pig extends Animal{ //编译会报错 void show(){ System.out.println("....."); } }
- final关键字修饰的变量时常量,只能赋值一次
public class Example01 { public final String name = "小花"; name = "小红";//再次为name赋值编译会报错 }
在我们编写程序时,如果父类中的某个方法不想被子类重写,我们就可以使用final关键字修饰该方法