Java基础系列 - 抽象类,子类继承

时间:2019-09-17 17:19:15   收藏:0   阅读:93
package com.company;

/**
 * 抽象类继承
 * 用abstract修饰类就是抽象类
 * 用abstract修饰方法就是抽象方法(一般使用比较少)
 * 抽象类不能被实例化
 */
public class Main {
    public static void main(String[] args) {
        Animal an = new Cat();
        an.cry(); //输出 “猫叫,喵喵喵”
        an = new Dog();
        an.cry();  //输出 “狗叫,汪汪汪”

        Cat cat1 = new Cat();
        cat1.eat(); //输出 “猫爱吃鱼”
    }
}

/**
 * 定义一个动物抽象类
 */
abstract class Animal {
    private int age;
    private String name;

    public int getAge() {
        return age;
    }

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

    public String getName() {
        return name;
    }

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

    abstract public void cry();
}

/**
 * 猫类(继承动物类)
 */
class Cat extends Animal {
    /**
     * 实现抽象父类中的具体方法
     */
    @Override
    public void cry() {
        System.out.println("猫叫,喵喵喵");
    }

    /**
     * 子类自有方法
     */
    public void eat() {
        System.out.println("猫爱吃鱼");
    }
}

/**
 * 狗类(继承动物类)
 */
class Dog extends Animal {
    /**
     * 实现抽象父类中的具体方法
     */
    @Override
    public void cry() {
        System.out.println("狗叫,汪汪汪");
    }
}

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!