Javase学习记录之------抽象类猫狗案例

倖福魔咒の 提交于 2019-12-01 21:52:34
abstract class Animal{
    private String name;
    private int age;
    public Animal(){}
    public Animal(String name,int age){
        this.name=name;
        this.age=age;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }
    public abstract void eat();
}

class Dog extends Animal{
    public Dog(){}
    public Dog(String name,int age){
        super(name,age);
    }
    public void eat(){
        System.out.println("狗吃肉");
    }
}

class Cat extends Animal{
    public Cat(){}
    public Cat(String name,int age){
        super(name,age);
    }
    public void eat(){
        System.out.println("猫吃鱼");
    }
}
//测试类
public class AbstractTest {
    public static void main(String [] args){
        //测试狗类
        //方式一:
        Dog d=new Dog();
        d.setName("旺财");
        d.setAge(3);
        System.out.println(d.getAge()+"------"+d.getName());
        d.eat();
        //方式二:
        Dog d2=new Dog("旺财",3);
        System.out.println(d2.getAge()+"------"+d2.getName());
        d2.eat();
        System.out.println("------------------------------------------");
        //方式三:多态版
        Animal a=new Dog();
        a.eat();
        a.setName("旺财");
        a.setAge(6);
        System.out.println(a.getAge()+"------"+a.getName());

        Animal a2=new Dog("旺财",6);
        System.out.println(a2.getAge()+"------"+a2.getName());
        a2.eat();
    }
}

程序运行结果为:
3------旺财
狗吃肉
3------旺财
狗吃肉

狗吃肉
6------旺财
6------旺财
狗吃肉

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!