抽象:可以只定义方法而不写方法体
父类只需定义出来公用的方法
子类必须重写
如:
public abstract void run();
就是一个抽象方法,必须用abstract来修饰。抽象方法需要放到抽象类中。
abstract 不能和fianl、private、static共用。
因为abstract必须要被重写,所有与private冲突,static是一个静态,只加载一次,也不能,而被fianl修饰的不能被重写。
抽象类也需要abstract来修饰。
抽象类不能实例化。
抽象类中可以有:抽象方法和非抽象方法、成员变量、常量、构造方法(需要初始化)。
接口与抽象类比较相似。
不同点:1)接口中只能有抽象方法,不能有普通方法
2)接口中对方法、成员变量都有默认的修饰符
成员变量:public static final
方法:public abstract