Java抽象类

85 阅读1分钟

抽象类

  • 如果一个类设计出来就是用来被继承的,而且不应该有实例(对象);那么这个类就可以定义为抽象类;抽象类就是一个模板类(一组子类的模板)
  • 抽象类不能有实例(对象),不能new
  • 如果一个方法设计出来就是用来被重写的,不需要有方法体,那么这个方法就可以定义为抽象方法;
  • 如果一个类中有抽象方法,那么这个类必须声明为抽象类;
  • 抽象类和抽象方法使用 abstract进行修饰
  • 子类继承一个有抽象方法的抽象类时,子类要么重写方法 要么也把自己声明为抽象类;

把Animal设计为抽象类

//抽象类:不应该有 实例(对象);抽象类设计出来就是用来被继承的;
//抽象方法: 不能有方法体;抽象方法设计出来就是用来被重写的;
//如果一个类中有抽象方法,那么这个类必须声明为抽象类
public abstract class Animal {
    private String name;
    private int age;
​
    public Animal() {
    }
    public Animal(String name, int age) {
        this.name = name;
        this.age = age;
    }
    //抽象方法
    public abstract void play();
​
    public String getName() {
        return name;
    }
​
    public void setName(String name) {
        this.name = name;
    }
​
    public int getAge() {
        return age;
    }
​
    public void setAge(int age) {
        this.age = age;
    }
}