标签:
class Animal{
????public final void eat(){
????????System.out.println("吃");
????}
}
class Dog extends Animal{
????public void eat(){
????????System.out.println("狗吃骨头");
????}
}
class Cat extends Animal{
????public void eat(){
????????System.out.println("猫吃老鼠");
????}
}
class Wolf extends Animal{
????public final void eat(){
????????System.out.println("吃喜羊羊");
????}
}
class Test02 {
????public static void main(String args[]){
????????Animal aa[]=new Animal[3];
????????
????????aa[0]=new Dog();
????????aa[1]=new Cat();
????????aa[2]=new Wolf();
????????for(int i=0;i<3;i++)
????????????{aa[i].eat();}
????}
}
/*
实验结果:编译不过,因为final修饰的类方法是"最终的"方法,不能被覆盖,即子类不能重写
?
为什么需要final方法呢?
????出于安全的考虑,如果方法的实现不应改变,对对象的一致性状态很重要。
*/
标签:
原文地址:http://www.cnblogs.com/iucforever/p/4830689.html