我尝试通过搜索引擎搜索这个问题,但可以找到一个主题来解释初始化类和实例化对象之间的区别。
有人可以解释一下它们有何不同吗?
与该主题相关的三个术语是:声明、初始化和实例化。
从后到前工作。
实例化
这是为对象分配内存的时候。这就是new
关键字正在做。返回对所创建对象的引用new
关键词。
初始化
这是将值放入分配的内存中的时候。这就是构造函数 https://docs.oracle.com/javase/tutorial/java/javaOO/constructors.html一个类在使用时会做new
关键词。
变量还必须通过将内存中某个对象的引用传递给它来初始化。
宣言
这是当您向程序声明将存在某种类型的对象以及该对象的名称时。
同一行初始化和实例化的示例
SomeClass s; // Declaration
s = new SomeClass(); // Instantiates and initializes the memory and initializes the variable 's'
将不同行上的变量初始化到内存的示例
void someFunction(SomeClass other) {
SomeClass s; // Declaration
s = other; // Initializes the variable 's' but memory for variable other was set somewhere else
}
我也强烈推荐阅读本文 http://javadude.com/articles/passbyvalue.htm关于 Java 如何处理传递变量的本质。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)