Java中繼承和介面的區別


繼承是一種透過複製其他類的一些屬性來在多個類之間建立層次結構的方法。Java中存在各種型別的繼承,例如單繼承、多繼承、多層繼承、混合繼承和層次繼承。介面是特定類的藍圖,它包含常量和抽象類。介面類允許機器對物件或類應用某些特定屬性。它完全是一種抽象方法,透過指定類的行為來幫助對集合執行Java抽象。現在任務是在這裡使用各種Java函式來標記繼承和介面之間顯著的區別。

輸入

C . add ( 5, 10 ) ;
C . subtract ( 35, 15 ) ;
C . multiply ( 6, 9 ) ;
C . divide ( 45, 6 ) ;

輸出

The result is here. Have A Look : 15.0
The result is here. Have A Look : 20.0
The result is here. Have A Look : 54.0
The result is here. Have A Look : 7.5

繼承和介面的區別

繼承

介面

繼承允許基類將其行為傳遞給子類。

介面是一個類,它實現程式碼中所有宣告方法的關係。

我們可以使用override方法重用超類中的程式碼。

它透過多型性方法提高了程式碼的可重用性。

它只支援在同一個包中具有多個子類的單繼承。

它支援多繼承,無需指定任何過程細節。

繼承過程允許當前類從父類和祖先類傳遞現有特徵。而介面結構能夠定義抽象和設定方法本身之間的契約。

使用的方法

使用菱形方法

演算法

在這個演算法中,我們聲明瞭一些函式,透過考慮一個設定值來執行ArrayList中的插入順序。此外,透過使用迴圈進行迭代,我們將設定遍歷長度的時間。

  • 步驟1 - 開始程序。

  • 步驟2 - 宣告輸入輸出流。

  • 步驟3 - 匯入內建類和宣告的函式。

  • 步驟4 - 宣告一個公共類。

  • 步驟5 - 設定函式。

  • 步驟6 - 進行插入排序。

  • 步驟7 - 宣告一個ArrayList並填充它。

  • 步驟8 - 宣告Set值。

  • 步驟9 - 按照插入方式列印值。

  • 步驟10 - 宣告一個迴圈來迭代過程。

  • 步驟11 - 設定計時器值。

  • 步驟12 - 執行過程並獲取輸出值。

  • 步驟13 - 終止程序。

語法

在這個語法中,我們首先檢查一個TreeSet,並用一些整數值填充它們。之後,我們宣告一個Map Set,以從這些元素中建立一些標識對,以便使用entrySet()和hasNext()函式在表上根據它們的狀態對其進行過濾,以解釋繼承和介面類的作用。

TreeSet < Integer > STTREE = new TreeSet <> () ;
STTREE . add ( 4 ) ;
STTREE . add ( 5 ) ;
STTREE . add ( 6 ) ;
STTREE . add ( 8 ) ;
STTREE . add ( 4 ) ;

IdentityHashMap < Integer, String > ihmap
   = new IdentityHashMap < Integer, String > () ;
ihmap . put ( 10, "ARB" ) ;
ihmap . put ( 20, "RDD" ) ;
ihmap . put ( 30, "ARBRDD" ) ;
ihmap . put ( 40, "KOLDHKA" ) ;
ihmap . put ( 50, "You" ) ;

PRINT THE VALUE HERE ( " IdentityHashMap size : " + ihmap . size () ) ;
PRINT THE VALUE HERE ( " Initial identity hash map :  "     + ihmap ) ;

Hashtable < Integer, String > table  
   = new Hashtable < Integer, String > () ;
table . put ( 1 , "X" ) ;
table . put ( 2 , "Y" ) ;
table . put ( 3,  "Z" ) ; 
table . put ( 4,  "A" ) ;

for ( Map . Entry m : table . entrySet () )
   Iterator < IdentityHashMap . Entry < Integer, String > >
      itr = ihmap . entrySet () . iterator () ;
while ( itr . hasNext () ) {
   IdentityHashMap . Entry < Integer, String > entry
      = itr . next ( ) ;
   TreeMap < Integer,Integer > MAPTREE 
      = new TreeMap <> () ;
   MAPTREE . put ( 2,5 ) ;
   MAPTREE . put ( 3,6 ) ;
   MAPTREE . put ( 4,6 ) ;
   MAPTREE . put ( 2,3 ) ;
}

使用菱形方法

在這種方法中,我們將實現菱形方法來獲取繼承和介面之間的區別。致命的死亡菱形方法是與多重繼承相關的過程。該方法新增某種型別的推斷以減少過程的冗長性。

示例

在這個示例程式碼中,我們透過遵循繼承的可能方法建立了一個計算器介面。

import java.util.Arrays;
import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.TreeSet;
import java.util.*;
interface ARBRDD {
   public void add ( double x, double y ) ;
   public void subtract ( double x, double y ) ;
}
interface Mul_Div {
   public void multiply ( double x, double y ) ;
   public void divide ( double x, double y ) ;
}
interface Calculator extends ARBRDD, Mul_Div {
   public void printResult ( double result ) ;
}
public class MyCalculator implements Calculator {
   public void add ( double x, double y ){
      double result = x + y ;
      printResult ( result ) ;
   }
   public void subtract ( double x, double y ){
      double result = x - y ;
      printResult ( result ) ;
   }
   public void multiply ( double x, double y ){
      double result = x * y ;
      printResult ( result ) ;
   }
   public void divide ( double x, double y ){
      double result = x / y;
      printResult ( result ) ;
   }
   public void printResult ( double result ){
      System.out.println ("The result is here. Have A Look: " + result);
   }
   public static void main ( String args [] ){
      MyCalculator c = new MyCalculator () ;
      c . add ( 5, 10 ) ;
      c . subtract ( 35, 15 ) ;
      c . multiply ( 6, 9 ) ;
      c . divide ( 45, 6 ) ;
   }
}

輸出

The result is here. Have A Look: 15.0
The result is here. Have A Look: 20.0
The result is here. Have A Look: 54.0
The result is here. Have A Look: 7.5

結論

今天在這篇文章中,我們學習了各種資料集方法的工作過程。透過上述示例,我們執行了查詢Java中存在的繼承和介面類之間差異的過程。透過上述邏輯、語法和演算法;我們嘗試構建Java程式碼來解決問題陳述,並嘗試以有效的方式瞭解遇到的問題。

更新於:2023年10月19日

2K+ 瀏覽量

啟動您的職業生涯

透過完成課程獲得認證

開始學習
廣告