回答:接口和抽象类是java面向对象设计的两个基础机制,接口是对行为的抽象,它是抽象方法的集合,利用接口api定义和实现分离的目的。
接口不能实例化;不能包含任何非常量成员,任何field都是隐含着public static final的含义;没有非静态方法实现。
抽象类是不能实例化的类,用abstract 关键字修饰class,其目的主要是代码重用,除了不能实例化,形式上和一般的java类没有太大区别,可以有一个或多个抽象方法,也可以没有。抽象类大多是用于抽取相关java类的共用方法实现或者共同成员变量,然后通过继承的方式实现代码复用。