1.修饰class
final class A{
}
即A是最终的形态,不能作为其他类的父类,这样是为了防止类扩展
2.修饰方法
class B{
final void Ta(){
}
}
即这个方法是最终的,不能被B的子类重写
3.修饰变量
final a=0;
那么等价于a是个常数
4.引用数据类型的变量(初始化之后不能再指向另外一个对象,但对象的内容是可以变的)
final Animal animal = new Animal("老子","吃火锅");
animal = new Animal();//这个是错误的
animal.gaiName = "重庆老子";
animal.gaiEat = "吃重庆火锅";//这两句是没问题的
总之一句话:final就是来防止拓展和重写的(除了上述的第四点)