package cn.sasa.com; //抽象类 被abstract修饰的类 public abstract class Animal { //抽象类的成员变量 的定义 与 一般类是一样的 private String name; public String getName() { return this.name; } public void setName(String name) { this.name = name; } //抽象方法 被abstract修饰,没有方法体 //抽象方法要被抽象类的子类重写 public abstract void eat(); //抽象类中也可以有一般方法 public void speak() { System.out.println("啊呜~"); } //抽象类中可以没有抽象方法,他的方法可以由子类继承调用 //抽象类是为了让子类继承的,所以不能用private修饰 //抽象类对子类起到规范的作用 }
package cn.sasa.com; public class Cat extends Animal{ //子类必须重写抽象类的方法, //如果子类没有重写所有抽象方法,那么这个子类还是抽象类 @Override public void eat() { System.out.println("Mellow Mellow is eating"); } }