abstract class Animal{
????public abstract void eat();
}
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 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();}
????}
}
/*
实验结果:
狗吃骨头
猫吃老鼠
吃喜羊羊
?
抽象类:只能被当做父类来继承而不能被实例化的类
?
为什么需要抽象类?
????某些情况下不是所有类都能完整的描述该类的行为,只知道应该包含什么样的方法,
????但是不知道具体实现,这时就可以定义抽象类且不用去实现其方法。
?
抽象类中可以包含抽象和非抽象方法,
也可以不包含抽象方法和非抽象方法。
只要有一个抽象方法,就是抽象类。????
???? ?
????
*/
原文:http://www.cnblogs.com/iucforever/p/4830706.html