繼承(inheritance)和java接口(interface in java)的區別
Java是Sun Microsystems公司開發的一種編程語言。Java可以用來開發各種應用程序。它是一種支持面向對象、結構化等多種範式的語言,Java的主要優點是支持面向對象編程(OOP)。程序員可以創建類和對象。OOP有四個支柱。它們是繼承、多態、抽象和封裝。繼承和接口與OOP有關。繼承和接口的關鍵區別在於繼承是從現有的類中派生新的類,而接口是實現抽象類和多重繼承。
目錄
1. 概述和主要區別
2.Java中的繼承是什麼
3. Java中的接口是什麼
4. Java中繼承與接口的相似性
5. 並行比較——繼承與Java中的接口的表格形式
6. 摘要
什麼是java中的繼承(inheritance in java)?
繼承可以實現代碼的可重用性。繼承有助於重用現有類的屬性和方法。使用舊類派生新類的機制稱為繼承。舊類稱為父類或超級類。派生類稱為子類或子類。
Java繼承的語法如下。
類子類擴展超類{
變量聲明;
方法聲明;
}
繼承概念可以用下面的例子來解釋。假設有一個名為a的類,如下所示。
公共A級{
公共無效金額(){
System.out.println(“金額”);
}
}
如果我們想在不改變現有類的情況下添加一個新方法,我們可以如下所示。
公共B類{
公共虛空子(){
打印輸出系統(“子公司”);
}
}
程序員可以使用繼承來使用類A sum()。
公共B類擴展了A類{
公共虛空子(){
打印輸出系統(“子公司”);
}
}
在main函數中,可以創建一個B的對象並調用sub(),它屬於B類,sum()屬於A類。
公共靜態void main(String[]args){
B obj=新B();
目標子公司();
目標金額();
}
有不同類型的遺傳。它們是單繼承、多重繼承、多級繼承和層次繼承。在單一繼承中,有一個基類和一個派生類。在多級繼承中,有三個類,即基類、中間類和派生類。中間類從基類繼承,派生類從中間類繼承。在層次繼承中,有一個基類和多個派生類。有一種特殊類型被稱為混合遺傳。它是兩種或多種繼承類型的組合。
在多重繼承中,有許多基類和一個派生類。假設A類和B類是基類。類C是派生類。如果A類和B類都有相同的方法,而程序員從派生類調用該方法,則會導致歧義問題。繼承兩個類可能會導致編譯時錯誤。因此,Java不支持多重繼承。一個接口可以用來克服這個問題。
什麼是java接口(interface in java)?
抽象是一個隱藏實現細節並只向用戶顯示功能的過程。抽象可以通過使用抽象類或接口來實現。抽象方法是沒有實現的方法。具有至少一個抽象方法的類是抽象類。抽象類的示例如下。
抽象A類{
抽象空和();
}
假設有兩個抽象類A和B。為了實現A和B的抽象方法,創建了一個新的類C。那麼C類應該同時擴展A和B,但是Java不支持多重繼承。因此,應該使用接口。接口可用於聲明方法,但無法定義方法。無法使用接口創建對象。類C應該實現接口A和B中的所有方法。
接口A{
空和();
}
接口B{
void sub();
}
類C實現了A,B{
公共無效金額(){
System.out.println(“總和”);
}
公共虛空子(){
System.out.println(“減法”);
}
}
現在,在主程序中可以創建一個C對象並調用這兩個方法。
公共靜態void main(String[]args){
C obj=新C();
目標金額();
目標子公司();
}
所以,接口可以用來實現多重繼承。
接口的另一個用途是它提供安全性。參考以下代碼。
接口A{
無效金額();
}
實現類B{
公開無效金額(){
System.out.println(“總和”);
}
公共空乘(){
System.out.println(“乘法”);
}
}
當創建B的對象時,可以同時調用sum()和multiply()方法。如果程序員想限制使用multiply()函數,可以如下所示。
公共靜態void main(String[]args){
A obj=新B();
目標金額();
}
A obj=new B();將創建一個對象。它的類型是A,內存分配為B。可以調用sum(),但不能執行multiply()。這個限制是使用接口完成的。
繼承(inheritance)和java接口(interface in java)的共同點
- 這兩個概念都與面向對象編程有關
- 兩者都代表著一種關係。
繼承(inheritance)和java接口(interface in java)的區別
Java中的繼承與接口 | |
繼承是一個OOP概念,用於從現有類派生新類。 | 在OOP中實現繼承和多重抽象機制。 |
使用 | |
繼承提供了代碼的可重用性。 | 接口提供抽象和多重繼承。 |
總結 - 繼承(inheritance) vs. java接口(interface in java)
Java是一種支持面向對象編程的多範式編程語言。繼承和接口與面向對象編程有關。繼承和接口的區別在於繼承是從現有的類中派生出新的類,接口是實現抽象類和多重繼承。
下載java版的inheritance-vs-interface的pdf版本
你可以下載這篇文章的PDF版本,並按照引文說明離線使用。請在這裡下載PDF版本繼承和Java接口的區別
引用
1.要點,教程。“Java繼承”,教程點,2017年10月31日。此處提供2.Point教程。“Java接口”,教程點,2017年10月31日。此處提供
2.要點,教程。“Java接口”,