我有一个关于 java 中对象引用的概念性问题。
这里 Num 是一个接口
public interface Num {
void sum();
}
Num2 实现了 Num
public class Num2 implements Num{
@Override
public void sum() {
System.out.println(getRandom()+getRandom());
}
public int getRandom() {
Random randomNumber = new Random();
int number = randomNumber.nextInt(30);
return number;
}
}
以及主要功能
Num n = new Num2();
n.sum();
这里我知道n是对象Num2的引用,n是指向对象Num2的指针。Num2 包含方法sum和getRandom。但是当我们尝试通过n引用访问方法时,我们只能得到sum方法。我的问题是指针如何知道 Num 中包含哪些方法。在对象初始化期间如何以及将哪些信息存储在堆栈中以供参考。如果我有任何误解,请纠正我。