java中為什么要單繼承,多實現,總結如下:
若為多繼承,那么當多個父類中有重復的屬性或者方法時,子類的調用結果會含糊不清,因此用了單繼承。
為什么是多實現呢?
通過實現接口拓展了類的功能,若實現的多個接口中有重復的方法也沒關系,因為實現類中必須重寫接口中的方法,所以調用時還是調用的實現類中重寫的方法。那么各個接口中重復的變量又是怎么回事呢?
接口中,所有屬性都是 static final修飾的,即常量,這個什么意思呢,由於JVM的底層機制,所有static final修飾的變量都在編譯時期確定了其值,若在使用時,兩個相同的常量值不同,在編譯時期就不能通過。