gpt4 book ai didi

java - 为什么在声明时不调用 Java 类默认构造函数?

转载 作者:行者123 更新时间:2023-11-29 09:55:39 25 4
gpt4 key购买 nike

Java 有默认构造函数,但与 C++ 的运行方式不同。

在 C++ 中,默认构造函数在声明对象时被隐式调用,因此无需显式“新建”它。但在 Java 中,对象必须显式初始化。有什么特别的原因吗?对此有任何功能要求吗?

最佳答案

仅当 C++ 声明在堆栈上创建对象时。所有 Java 对象都是基于堆的,因此这不是一种选择。在这两种语言中,构造函数在创建新对象时被调用。

// C++
Obj obj; // stack
Obj* pObj = new Obj; // heap

// Java
Obj obj = new Obj(); // heap (stack not possible)

关于java - 为什么在声明时不调用 Java 类默认构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12664535/

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