接口和抽象類的主要區別?
Java提供和支持創建抽象類和接口。
它們的實現有共同點,不同點在于:接口中所有的方法隱含的都是抽象的。抽象類則可以同時包含抽象和非抽象的方法。類可以實現很多個接口,但是只能繼承一個抽象類類如果要實現一個接口,它必須要實現接口聲明的所有方法。但是,類可以不實現抽象類聲明的所有方法,當然,在這種情況下,類也必須得聲明成是抽象的。抽象類可以在不提供接口方法實現的情況下實現接口。Java接口中聲明的變量默認都是final的。抽象類可以包含非final的變量。Java接口中的成員函數默認是public的。抽象類的成員函數可以是private,protected或者是public。接口是絕對抽象的,不可以被實例化。抽象類也不可以被實例化,但是,如果它包含main方法的話是可以被調用的。也可以參考JDK8中抽象類和接口的區別
上一篇中常見的模板類