一个类可以实现任意多的接口,但是最多只能继承自一个抽象类。 抽象类可以包括非抽象方法,而接口的所有方法在效果上都是抽象的。JDK(1.6)1.8中接口中可以定义静态方法和默认方法,但是不能定义普通方法。 抽象类可以定义构造方法和静态方法,而接口不行。 JDK(1.6)1.8中接口里边可以有静态方法 抽象类可以申明并使用变量,而接口不行(一定是常量)。 抽象类在Java语言中表示的是一种继承关系,使用抽象类主要是为了代码的复用;而接口则规定了一组类的定义规则,使用接口主要是为了实现多态性。 抽象类只能单继承,接口可以多继承 抽象类可以实现接口,接口不能继承抽象类 使用接口代表的是实现类和接口之间是has a的关系 使用抽象类代表的是子类和抽象类之间是is a的关系,即子类可以定义为父类的类型;
public interface InterfaceTest { public void playCode(); public void playMysql(); } class InterfaceDemo{ public static void main(String[] args) { new InterfaceTest() { @Override public void playCode() { System.out.println("精通JAVA面向对象"); } @Override public void playMysql() { System.out.println("熟练使用mysql"); } }.playCode(); }; }