gpt4 book ai didi

java - Java 中 'new' 运算符的真正意义是什么?

转载 作者:行者123 更新时间:2023-12-01 18:00:13 27 4
gpt4 key购买 nike

如果“构造函数”在我们创建对象时分配内存并初始化实例变量,那么我们为什么要说 Object o = new Object(); ?为什么不只是 Object o = Object();

new 运算符实际上做了什么?

最佳答案

构造函数仅初始化预先存在的对象。区分构造函数和方法调用的方法是使用 new 关键字。例如您可以在 Object 类中拥有一个名为 Object 的方法,但这可能不会创建任何内容。当你有子类时,这会更加令人困惑。

class A {
A() { } // constructor
static A A() { return new A(); } // method
static A B() { return new A(); } // method
}

class B extends A {
B() { }
}

A b = new B(); // creates a B
A a = B.B(); // creates an A

new 关键字的作用是明确何时创建新对象。

顺便说一句,您可以有一个工厂方法,按照您的建议返回一个新对象,但是将其明确化可能会被认为更清楚它实际在做什么。

关于java - Java 中 'new' 运算符的真正意义是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41569642/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com