方法和接口有什么區別?
1、抽象類可以有構造方法,接口中不能有構造方法。
2、抽象類中可以有普通成員變量,接口中沒有普通成員變量
3、抽象類中可以包含非抽象的普通方法,接口中的所有方法必須都是抽象的,不能有非抽象的普通方法。
4、抽象類中的抽象方法的訪問類型可以是 public,protected和(默認類型,雖然eclipse 下不報錯,但應該也不行),但接口中的抽象方法只能是 public 類型的,并且默認即為 public abstract 類型。
5、抽象類中可以包含靜態方法,接口中不能包含靜態方法(JAVA8的新特性:接口可以有靜態方法和默認方法)
6、抽象類和接口中都可以包含靜態成員變量,抽象類中的靜態成員變量的訪問類型可以任意,但接口中定義的變量只能是 public static final 類型,并且默認即為 public static final 類型。
7、一個類可以實現多個接口,但只能繼承一個抽象類