よくある「答えがいいえ」の質問は、Java は多重継承をサポートするかということです。
このルールが (Oracle) JVM によってどのように処理されるかについての詳細を探しています。すなわち:
実行時に、JVM にはインターフェイスの概念がありますか?それとも、たまたまメソッドを実装していない抽象クラスのように扱いますか?
言い換えれば、私のコードはこれになるでしょうか?
私のコード:
public class A extends B implements C {
public interface C {
次のようにコンパイルします。
public class A extends B, C {
public abstract class C {
その場合、メソッドを実装する親クラスが 1 つだけである限り、JVM は多重継承をサポートすると言えます。
それとも、インターフェースは JVM の根幹に深く織り込まれているのでしょうか?