一、抽象是對一類事物的抽象,是對類的抽象。抽象類不能實例化。含有抽象方法的類必須聲明為抽象類,抽象類中可以沒有抽象方法??梢杂腥我忸愋偷淖兞亢头椒?。abstract 不能修飾變量,只能修飾方法和類??梢杂徐o態代碼塊和靜態方法。可以有構造函數。一個類只能繼承一個抽象類。抽象方法必須是非靜態的。抽象類可以繼承非抽象類。任何類的基類是object. 二、接口是對類的行為方法的一種抽象。接口不能實例化。接口中的方法必須聲明為public abstract,全部都是沒有實現的方法,變量必須被聲明為public static final;不可以有靜態代碼塊和靜態方法。不可以有構造函數,一個類可以實現多個接口。 聯系:抽象類可以現實接口,不可以繼承一個接口。繼承是(is -a關系) 組合和繼承的關系: 組合是has-a的關系,是整體和部分的關系。 繼承是is-a的關系,是子類和父類的關系。將兩個類或者多個類結合使用就是組合。 設計模式的原則就是多用組合少用繼承。
新聞熱點
疑難解答