Java继承代码案例

Java继承代码案例,不多说,直接敲代码

Animal 类

/**
 * @Author 公众号「MarkJava」
 * @Date 2020/11/9 15:08
 **/
public class Animal {
    private String name;
    private int month;
    private String species;
    public Animal() {}
    public Animal(String name, int month, String species) {
        this.name = name;
        this.month = month;
        this.species = species;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getMonth() {
        return month;
    }
    public void setMonth(int month) {
        this.month = month;
    }
    public String getSpecies() {
        return species;
    }
    public void setSpecies(String species) {
        this.species = species;
    }
    @Override
    public String toString() {
        return "Animal{" +
                "name='" + name + '\'' +
                ", month=" + month +
                ", species='" + species + '\'' +
                '}';
    }
}

Cat 类

/**
 * @Author MarkJava
 * @Date 2020/11/9 15:10
 **/
public class Cat extends Animal{
    private double weight;
    public Cat(){}

    public double getWeight() {
        return weight;
    }

    public void setWeight(double weight) {
        this.weight = weight;
    }
    //跑步方法
    public String run(){
        return getName() + ",是一只属于" + getSpecies() + "的动物,它在奔跑中!";
    }

}

Dog 类

/**
 * @Author 公众号「MarkJava」
 * @Date 2020/11/9 15:20
 **/
public class Dog extends Animal{
    private int age;
    public Dog(){}
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    //狗会叫的方法
    public String call(){
        return getName()+ ",今年" + getAge() + "岁,它是属于" + getSpecies()+ "动物的,会旺旺地叫...";
    }
}

测试类

/**
 * @Author 公众号「MarkJava」
 * @Date 2020/11/9 15:15
 **/
public class Test {
    public static void main(String[] args) {
        //cat
        Cat cat = new Cat();
        cat.setName("白猫");
        cat.setSpecies("猫类");
        System.out.println(cat.run());
        //Dog
        Dog dog = new Dog();
        dog.setName("旺财");
        dog.setAge(2);
        dog.setSpecies("狗类");
        System.out.println(dog.call());
    }
}

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是一个Java多态继承案例代码代码注释中会对其进行解析: ``` // 父类Animal class Animal { public void makeSound() { System.out.println("Animal is making a sound"); } } // 子类Dog,继承自Animal class Dog extends Animal { @Override public void makeSound() { System.out.println("Dog is barking"); } } // 子类Cat,继承自Animal class Cat extends Animal { @Override public void makeSound() { System.out.println("Cat is meowing"); } } // 测试类 public class Main { public static void main(String[] args) { // 创建Animal、Dog、Cat对象 Animal animal = new Animal(); Dog dog = new Dog(); Cat cat = new Cat(); // 调用各自的makeSound方法 animal.makeSound(); // 输出:Animal is making a sound dog.makeSound(); // 输出:Dog is barking cat.makeSound(); // 输出:Cat is meowing // 使用父类引用指向子类对象 Animal a = new Dog(); a.makeSound(); // 输出:Dog is barking a = new Cat(); a.makeSound(); // 输出:Cat is meowing } } ``` 在这个案例中,Animal是父类,Dog和Cat是子类。Animal类中有一个makeSound方法,而子类Dog和Cat分别重写了这个方法。 在测试类中,我们分别创建了Animal、Dog、Cat对象,并调用各自的makeSound方法。此时输出结果分别对应各自的实现。 接着我们使用父类引用指向子类对象,即Animal a = new Dog() 和 Animal a = new Cat()。这里体现了多态的特性,即父类引用可以指向子类对象。 当调用a.makeSound()时,由于a是Animal类型的引用,所以会调用Animal类中的makeSound方法。但是由于a指向的实际上是Dog或Cat的对象,所以最终输出对应的结果,即Dog is barking和Cat is meowing。 这就是Java多态继承的一个简单案例
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值