一个对象引用,比如 r 是为一个类(比如 A)声明的。类 A 也有对象引用实例变量,v 到另一个类 B。因此,当定义对类 A 的对象引用时,r 将开始指向到 A 类模板(对象 A)。问题是实例变量 v 是否也会开始引用 B 的模板。(这只有在也创建了 B 类型的对象时才有可能,因此一个子问题可能是是否也创建了 B 类型的对象.)
public class A {
B v;
}
public class B {
//code related to B
}
public class C {
public static void main (String[] args) {
A r = new A();
//Will r.v be created?
//Will it point to a B object
}
}
问题出在 Java 语言的上下文中。
最佳答案
根据提供的代码,r.v
默认情况下将保持 null
,因为您没有为其分配任何内容。
为了让 v
保存对 B
类的对象的引用,您必须在某处添加 v = new B ();
.
例如,您可以在 A
的构造函数中添加该语句:
public class A {
B v;
public A ()
{
this.v = new B ();
}
}
关于java - 一个对象引用一个类 A 的对象,而另一个类 B 的对象作为其实例变量,是否也指向类型 B 的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57744653/