包含抽象方法的类就称为抽象类。
抽象方法是指只有声明,而没有具体的实现的方法,需要用abstract修饰。格式为
abstract void fun();
抽象类的使用中同样存在单继承的局限,即一个子类只能继承一个抽象类。
抽象类的定义及使用规则如下:
包含一个抽象方法的类必须是抽象类。
抽象类和抽象方法都要使用abstract关键字声明
抽象方法只需声明而不需实现
抽闲类必须被子继承,子类如果不是抽象类必须覆写抽象类中的全部抽象方法。
抽象类不能用关键字final声明,因为如果用final声明,则不能被子类覆写,而抽象类是必须被子类覆写的。
抽象方法也不能用private声明,因为如果用private声明,则无法被子类覆写。
抽象类中允许定义构造函数。
abstract class A{ public static final String FLAG = "CHINA"; private String name = "aituming"; public String getName(){ return name; } public void setName(String name){ this.name = name; } public abstract void print(); } class B extends A{ public void print() { System.out.println("FLAG = " + FLAG); System.out.println("name = " + super.getName()); } } public class FinalDemo01 { public static void main(String[] args){ B b = new B(); b.print(); } }
抽象类与普通类相比就是多定义了抽象方法,除了不能直接进行对象的实例化操作之外并没有任何的不同。