java - 一个对象引用一个类 A 的对象,而另一个类 B 的对象作为其实例变量,是否也指向类型 B 的对象?

标签 java class oop

一个对象引用,比如 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/

相关文章:

java - Web 应用程序 - 在哪里放置 hibernate.cfg.xml 文件?

java - 从 RecyclerView.Adapter 中删除项目会导致 OutOfBounds 异常

c# - 在不接触类的情况下添加属性? (不是继承)

ruby - 为什么不可能在 Ruby 中包含类?

java - 有没有办法在不修改方法的情况下从java中的子类对象调用父类方法

python - 我什么时候应该使用 setUpClass 什么时候使用 __init__?

java - 如何用内容中的引号拆分字符串

java - 动态创建图形常量

c++ - 温度转换程序c++

java - 如果我调用自己的无参数构造函数,将调用多少个构造函数?