1.8以前:
抽象方法:以abstract修饰的方法,这种方法只声明返回的数据类型、方法名称和所需的参数,没有方法体,注意不能被static,final,private修饰
从设计层面来说,抽象是对类的抽象,是一种模板设计(基本共性内容),接口是行为的抽象,是一种行为的规范(功能拓展)。
1.抽象类和接口都不能被直接实例化,必须通过实现了所有抽象方法的子类(普通类)或实现类来间接实例化,如果抽象方法没有被全部实现,那么这个子类或实现类必须被定义为抽象类。
2.接口(标记接口)和抽象类都可以没有抽象方法,但一旦定义了方法,接口中的方法一定是抽象方法,抽象类中的方法则没有限制(可以是抽象方法,也可以是非抽象方法)。
3.接口中只能包含public修饰的静态常量(必须被显式初始化)和public修饰的抽象方法,不能有静态代码块和静态方法;抽象类则没有限制。
4.抽象类是类,可以单继承多实现;但接口可以多继承,但不能实现别的接口。
5.有抽象方法的类一定是抽象类。