解决方案是该类的名称,以下内容有什么区别?
Solution solution;
Solution solution = new Solution();
答案 0 :(得分:4)
在Java中,对象声明和分配有三个步骤
Solution solution
您要告诉Java为新的参考变量分配空间。
此变量将永远为Solution
类型,其唯一目的是
保存对类型为Solution
的对象的引用。
但是我们还没有创建 反对吗,我们吗?
解决方案= new Solution();
对象的创建。 Java为新对象分配空间并创建它。其中包括与对象一起出现的所有变量的空间(是实例变量)
解决方案=
新的Solution();
我们正在将引用变量分配给新创建的对象(请注意等号)。
换句话说,此引用变量将从现在开始与该对象连接,我们可以使用该引用来调用该对象上的方法。
请注意,最后两个步骤是一行代码,但实际上这里发生了两个不同的步骤。
以下内容有什么区别?
Solution solution
创建了一个空引用,一个变量等待对象被分配给它。
Solution solution = new Solution()
在一行代码中完成了所有三个步骤。
它创建了引用,创建了对象并将它们连接在一起。
您可以在此处阅读有关Java和一般编程中内存分配的更多信息:
Where are instance variables of an Object stored in the JVM?
答案 1 :(得分:2)
Solution solution;
仅将solution
变量定义为Solution
,但未进行初始化
Solution solution = new Solution();
还将其初始化为Solution