【问题标题】:Memory address of an empty object in javajava中空对象的内存地址
【发布时间】:2016-02-01 03:13:36
【问题描述】:

这可能是基本的,被投票为离题。
但是,作为一名学生,我必须了解一些基础知识(这也可能被认为是非基础知识)。

如果我创建一个新对象 someObject,

public class foo {
    someObject bar;

    private class someObject {
        int data;

        public someObject (int value) {
            data = value;
        }
    }
}

不为其字段分配任何值,
对象 foo 的内存地址似乎为空。
据我所知,这没有任何意义。
不是每个创建的对象(不管它是否有数据)仍然分配给内存地址吗?
如果我错了(很肯定),有人可以详细说明一下吗?

【问题讨论】:

    标签: java object memory


    【解决方案1】:

    很简单:
    你永远不会创建任何Object。你所做的就是声明一个变量。在提供的行中没有创建任何 Object - 既不是空的也不是任何其他状态 - 没有分配内存,除了在逻辑上指向 null 的引用。

    【讨论】:

    • 感谢您的澄清!
    猜你喜欢
    • 1970-01-01
    • 2018-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-12
    • 2012-08-25
    • 1970-01-01
    相关资源
    最近更新 更多