抽象方法
只声明了方法,同时使用了abstract修饰,没有方法体!必须要子类来重写!
抽象类
包含抽象方法的类,必须设计成抽象类!
抽象类的使用要点
- 通过抽象类,可以避免子类设计的随意性。
- 有抽象方法的类只能定义成抽象类
- 抽象类不能实例化,及不能用new来实例化抽象类。
- 抽象类可以包含属性、方法、构造方法。但是构造方法不能用来new实例,只能用来被子类调用。
- 抽象类只能用来继承。
- 抽象方法必须被子类实现。
public abstract class Animal {
String str;
public abstract void run(); //抽象方法的意义在于:将方法的设计和实现分离!
public void breath(){
System.out.println("呼吸!");
run();
}
public Animal(){
System.out.println("创造一个动物!");
}
}
class Cat extends Animal {
public void run(){
System.out.println("猫步小跑");
}
}
class Dog extends Animal {
public void run(){
System.out.println("狗跑");
}
}
public class Test {
public static void main(String[] args) {
Animal a = new Cat();
a.breath();
}
}