考虑:
public SomeClass implements SomeInterface{...}
SomeClass obj = new SomeClass();
SomeInterface x = obj;
我试图将第 3 行与我对内存管理的基本理解联系起来。我知道由“obj”表示的内存位置只包含一个指向 SomeClass 内存位置的指针。假设我使用的是 64 位 JVM,那么最多为“obj”指针分配 64 位。当 JRE 实现 x 时,在内存中创建了什么?它只是一个指向 SomeClass 的 64 位指针吗?