我知道在c ++中声明对象实例时如此:
Object object
Run Code Online (Sandbox Code Playgroud)
调用Object构造函数并为该对象提供内存,但是我发现在java中执行此操作时,对象实例在以下情况下没有值:
object = new Object()
Run Code Online (Sandbox Code Playgroud)
是写的.我想特别知道为对象提供内存的时间.我认为构造和新关键字分配内存都是Object object = new Object()多余的.我在oracle的网站上读到了声明"预留"内存和新的"分配"内存,我想知道两者之间有什么区别.
如果我有这样的for循环:
for(int i = 0; i < getInt(); i++){//code}
Run Code Online (Sandbox Code Playgroud)
每次for循环检查时是否会执行getInt():
i < getInt();
Run Code Online (Sandbox Code Playgroud)
或者它会在最开始执行一次并返回一个值j,以便for循环可以检查是否:
i < j;
Run Code Online (Sandbox Code Playgroud)
我想知道的特定语言是Java,但如果答案在其他语言中有所不同,我也想知道.