接口和抽象类有什么区别?

接口关键字是interface,抽象类关键字是abstract;

抽象类中可以没有抽象方法,接口中的方法都是抽象方法(在jdk1.7之后可以有被default修饰的普通方法);

有抽象方法 则必须是抽象类或接口;

抽象类可以作为父类被继承,接口可以被多实现;

有抽象方法的类,没有办法直接创建对象,需要由子类来继承(父类)实现(接口)全部的抽象方法才能创建对象;

抽象类中的成员变量可以被不同的修饰符来修饰;

接口中的成员变量默认的都是静态常量(static final)。

你可能感兴趣的:(接口和抽象类有什么区别?)