引入:
用abstract关键字声明的类称为抽象类。
很多具有相同特征和行为的对象可以抽象为一个类。
很多具有相同特征和行为的类可以抽象为一个抽象类。
例子:
package no2;
public class Test3 {
public static void main(String[] args) {
Man man = new Man();
man.move();
man.eat();
Woman woman = new Woman();
woman.move();
woman.eat();
}
}
//抽象类不能被实例化
abstract class Animal{
public abstract void move(); //抽象方法只有声明,没有实现
}
abstract class Person extends Animal{
public abstract void eat();
public void sleep() {
System.out.println("睡觉");
}
}
//继承抽象类的具体类必须实现父类所有抽象方法
class Man extends Person{
public void move() {
System.out.println("我是男人,我爱跑步");
}
public void eat() {
System.out.println("我是男人,我爱吃肉");
}
}
class Woman extends Person{
public void move() {
System.out.println("我是女人,我爱逛街");
}
public void eat() {
System.out.println("我是女人,我爱吃水果");
}
}