抽象类的特点
1、 抽象类和抽象方法必须使用abstract修饰
abstract class 类名{}
public abstract void 方法名();
2、抽象类不一定有抽象方法,有抽象方法就一定是抽象类或接口
3、抽象类不能实例化
按照多态的方式,有具体的子类实例化,其实也是多态的一种,抽象类多态
4、抽象类的子类
要么是抽象类
要么重写抽象类中的所以抽象方法(常用)
public static void main(String[] args) {
// Animal a = new Animal(); 不能被实例化
Animal a = new Cat(); //用多态的形式实现实例化
a.eat(); // 结果==猫吃鱼
}
}
abstract class Animal { //抽象类
public abstract void eat(); // 抽象方法
}
class Cat extends Animal {
public void eat() { //重写抽象类中的方法
System.out.println("猫吃鱼");
}
}