簡體   English   中英

多重繼承和接口

[英]Multiple Inheritance and Interfaces

一個常見的“ 答案是否定的問題 ”是Java支持多重繼承嗎?

我正在尋找有關(Oracle)JVM如何處理此規則的詳細說明; 進一步來說:

在運行時,JVM是否具有接口的任何概念,或者只是將其像碰巧沒有實現任何方法的抽象類一樣對待?

換句話說,我的代碼會變成這個嗎?

我的代碼:

public class A extends B implements C {

public interface C {

編譯成:

public class A extends B, C {

public abstract class C {

在這種情況下,可以說JVM支持多種繼承,只要不超過一個父類實現方法即可。

還是接口更深入地融入了JVM的內心?

在運行時,JVM確實具有接口的概念。 通過接口類型調用的方法由invokeinterface調用。

將接口編譯成抽象類將不起作用:

  • 單個方法的確可以由一個類實現的多個接口來實現。
  • 接口方法可以在實現接口的一種以上類型上調用。
  • 接口不為其方法提供任何實現。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM