天天看點

抽象類(abstract class)和接口(interface)相同點及不同點說明

轉自:http://www.java265.com/JavaMianJing/202110/16353726031598.html

下文是筆者收集的抽象類及接口的相同及不同之處,如下所示:

抽象類和接口的相同及關聯之處
   1.抽象類和接口都不能夠執行個體化
   2.抽象類可以實作接口(同接口進行關聯)
   3.抽象類也可以被抽象類繼承
      如:一個類繼承抽象類或接口,如果它不實作裡面所有的方法時,
	   此時必須将這個類定義為抽象類,不實作的方法定義為抽象方法
      
抽象類和接口的不同之處
 1.抽象類中可以定義構造函數,接口不可以
 2.抽象類可以有具體的實作方法,接口中大部分都是抽象方法(除一個default方法外)
 3.抽象類的方法前的修飾符可以為private ,public protected,default
   接口中所有的方法必須為public,并且預設也是public 
 4.抽象類中可以定義成員變量,接口如果有成員變量,則是常量