一、综述
抽象方法:
仅有声明,无方法体。
声明格式:
public abstract void fun();
抽象类
包含抽象方法的类叫做抽象类。如果一个类包含一个或多个抽象方法,该类必须被限定为抽象的。
//用abstrac来限定这个类
public abstract class Animal {
}
注意事项
- 不能直接创建抽象类对象。
- 如果从一个抽象类中继承,并希望可以创建该类的对象,那么必须为基类的所有抽象方法提供方法定义(override),否则,该新类也是抽象类。
- 抽象类中是可以有构造方法的,供子类调用构造方法时,初始化父类使用。因为子类构造方法中有一个默认的super();
二、代码实现
抽象类
public abstract class Animal {
//抽象方法
public abstract void eat();
public void show(){
System.out.println("animal");
}
}
子类
public class Cat extends Animal{
//为抽象类中的抽象方法提供方法定义
@Override
public void eat() {
System.out.println("fish");
}
}
public class Demo02Main {
public static void main(String[] args) {
Cat cat = new Cat();
cat.eat();
cat.show();
}
}