1.定義:用abstract關鍵字修飾,允許包含未實現方法的類被稱為抽象類。
2.使用場景:如果擁有一些方法,並且想要其中一部分預設實現!
3.定義格式:
[《修飾符》]
abstract
class
《類名》
注:
(1)抽象類不能例項化,既不能建立物件,只能作為父類用於被繼承;
(2)子類繼承乙個抽象類後,必須要實現父類中所有的抽象方法,否則子類也要被定義為抽象類;
(3)抽象類中可以包含抽象方法,也可以不包含抽象方法;
(4)如果類中包含抽象方法,那麼類必須定義成抽象類。
例:
public
abstract
class
students
}
1.定義:是方法宣告和常量值定義的集合。
2.使用場景:在有些情況下,如果某個類的所有方法都無法具體實現,此時可以使用介面定義。介面可以理解成乙個標準,其他類可以遵守該標準做不同的實現。
注:介面中的屬性預設是public static final的,而方法預設是public abstract的。
3.定義格式
[《修飾符》] inte***ce 《介面名》
注: 由於介面中的屬性屬於常量定義,因此在定義屬性時必須顯示指定初始值,不能使用預設初始化的形式。
4.規則:
(1)介面只包含方法宣告和常量定義,即使定義普通屬性,該屬性在編譯後也將變為常量;
(2)當其他類實現該介面時,介面中定義的所有方法都要實現,否則需要定義為抽象類;
(3)乙個類可以實現多個介面;
(4)定義介面時可以使用繼承,介面之間允許多繼承。
注: 介面是方法宣告和變數定義的集合,不允許包含變數。介面之間允許多繼承,類之間只允許單繼承。
5.特點
(1)介面中的成員變數預設都是public static final 型別的,可以省略不寫;
(2)介面中的方法預設都是public abstract 型別的,可以省略不寫,沒有方法體,不能被例項化;
(3)不允許建立介面的例項,但允許定義介面型別的引用變數,該引用變數實現了這個介面的類的例項。
6.implements關鍵字
(1)定義:讓乙個類遵循某個介面
例:
//介面piano
inte***ce
piano
//介面instrument
inte***ce
instrument
//類rain實現了piano介面
class
rain
implements
piano
}//類wind實現了介面piano和介面instrument
class
wind
implements
piano,instrument
@override
public
void play()
}
6.意義:介面體現了程式設計的多型和高內聚低耦合的設計思想。 基礎知識 介面和抽象類
英文 inte ce 乙個物件應該具有哪些公共的外部操作,即可使用inte ce來規定 用於限定某個物件所必須擁有的公共操作方法的一種結構 注意 1 介面方法,訪問許可權必須是公共的public 2 介面內只能有公共方法,不能存在成員變數 3 介面內只能含有未被實現的方法,也叫抽象方法,但是不用ab...
java基礎知識回顧之抽象類
抽象類 抽象 籠統,模糊,看不懂!不具體。特點 1,方法只有宣告沒有實現時,該方法就是抽象方法,需要被abstract修飾。抽象方法必須定義在抽象類中。該類必須也被abstract修飾。2,抽象類不可以被例項化。為什麼?因為呼叫抽象方法沒意義。因為沒有方法體 3,抽象類必須有其子類覆蓋了所有的抽象方...
Java抽象類與介面
一.概念 在物件導向的概念中,我們知道所有的物件都是通過類來描繪的,但是反過來卻不是這樣。並不是所有的類都是用來描繪物件的,如果乙個類中沒有包含足夠的資訊來描繪乙個具體的物件,這樣的類就是抽象類。比如 如果我們進行乙個圖形編輯軟體的開發,就會發現問題領域存在著圓 三角形這樣一些具體概念。它們是不同的...