JAVA多态11.17写实验前来研究
侧边栏壁纸
  • 累计撰写 24 篇文章
  • 累计收到 177 条评论

JAVA多态11.17写实验前来研究

xiaoyu
2022-11-17 / 0 评论 / 17 阅读 / 正在检测是否收录...
多态就是同一个接口,因不同的实例,而进行的不同的操作

同一个行为,具有不同的表现形式——————多态

重写—————子类能够重写父类的方法(final无法被重写,进而无法被继承)。
public class sevenpet { //主测试类
    public static void main(String[] args) {
        Dog d = new Dog("小狗", "雄", "yellow");//new对象Dog
        d.talk();//调用方法
        d.eat();
        Cat c = new Cat("小喵", "磁", 12);//new对象Cat
        c.talk();//调用方法
        c.eat();
    }
}

abstract class Pet {//声明抽象类    
    private String name;//封装属性
    private String sex;
//get/set
    public String getName() {
        return name;
    }

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

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public Pet(String _name, String _sex) {//声明一个带有两个参数的构造函数
        name = _name;
        sex = _sex;
    }
//声明抽象方法 void talk()和 void eat();
    public abstract void talk();
    public abstract void eat();
}

class Dog extends Pet {//Dog类继承Pet
    private String color;//封装color

    public Dog(String _name, String _sex, String color) {//声明一个带有三个参数的构造函数
        super(_name, _sex);
        this.color=color;
    }
//重写 talk()和 eat()方法;
    public void talk() {
        System.out.println(getName() + ":" + getSex() + "性,汪汪汪~~~");
    }

    public void eat() {
        System.out.println(getName() + ":" + color + "色,呼呼呼");
    }

}

class Cat extends Pet {//Cat类继承Pet
    private double weight;//封装weight

    public Cat(String _name, String _sex, double weight) {//声明一个带有三个参数的构造函数
        super(_name, _sex);
        this.weight=weight;
    }
//重写 talk()和 eat()方法;
    public void talk() {
        System.out.println(getName() + ",一只"+ weight +" 斤重的的"+getSex()+"性小喵,喵喵喵~~~");
    }

    public void eat() {
        System.out.println(getName() + ":cat唔唔唔");
    }

}

0

评论 (0)

取消