物件,類,抽象類,介面
阿新 • • 發佈:2020-08-17
初學,發現錯誤望指正。
AbstractClass Class Object # 抽象類,類,物件,從右往左依次抽象化。將存在的例項抽象化,提取公共部分。 public abstract class Animal {} public abstract class Dog extends Animal {} public class Dog2Ha extends Dog {} Interface Interfaceimpl Class # 介面,介面實現,類,自左向右以此具體化。將規定好的介面具體化,延伸細節。 public interface AutoCloseable {} public interface Closeable extends AutoCloseable {} public final class Scanner implements Iterator<String>, Closeable{}
抽象類和介面的區別: A:成員區別 抽象類: 成員變數:可以變數,也可以常量 構造方法:有 成員方法:可以抽象,也可以非抽象 介面: 成員變數:只可以常量 構造方法:無 成員方法:只可以抽象 B:關係區別 類與類 繼承,單繼承,多層繼承 類與介面 實現,單實現,多實現 介面與介面 繼承,單繼承,多繼承 C:設計理念區別 抽象類 被繼承體現的是:”is a”的關係。抽象類中定義的是該繼承體系的共性功能。 介面 被實現體現的是:”like a”的關係。介面中定義的是該繼承體系的擴充套件功能。 https://zhuanlan.zhihu.com/p/115768659