抽象类和接口的区别
语法区别:
抽象类--关键字:abstract
--方法:有抽象方法,也可有普通方法
接口 --关键字:interface
--方法:都是抽象方法(但是!!!JDK8以后,也可以有普通方法,但是需要用 default/static修饰才行)
使用区别:
抽象类:
abstract class A{
abstract void f1();
public void f2(){...}
}
class B extends A{
@OverRide
public void f1(){...}
}
B继承A,且只能集成
B继承A以后需要重写A例的所有抽象方法,不然B就是抽象类
接口:
interface X{
void f1();
public default void f2(){...}
public static void f3(){...}
}
interface Z{}
interface Y implements X,Z{}
Y可以多实现X,Z...,如果B实现X接口,那么需要重写X里面的所有抽象方法~~~~
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。