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");
}
}