抽象类
- 如果一个类设计出来就是用来被继承的,而且不应该有实例(对象);那么这个类就可以定义为抽象类;抽象类就是一个模板类(一组子类的模板)
- 抽象类不能有实例(对象),不能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;
}
}