在新关键字上调用函数
Calling function on new keyword
这是我的代码:
import java.util.Date;
class basic {
public static void main(String[] args) throws IOException {
String s = new Date().toString();
System.out.println(s);
System.exit(0);
}
}
任何人都可以向我详细解释 JVM 是如何执行行 new Date().toString();
的。我对 new
如何分配堆并不感兴趣,但我们如何在构造函数 Date()
上使用 .toString()
运算符。提前致谢。
如果我们把代码分成几行并引入局部变量,会更容易理解。这一行:
String s = new Date().toString();
等同于:
Date d = new Date();
String s = d.toString();
你现在看,我们在 Date
class 的 实例 上调用 toString()
方法,而不是在构造函数上本身。
new Date().toString();
被 Java 的编译器解释为 (new Date()).toString()
。与 Date a = new Date(); a.toString();
相同
这是我的代码:
import java.util.Date;
class basic {
public static void main(String[] args) throws IOException {
String s = new Date().toString();
System.out.println(s);
System.exit(0);
}
}
任何人都可以向我详细解释 JVM 是如何执行行 new Date().toString();
的。我对 new
如何分配堆并不感兴趣,但我们如何在构造函数 Date()
上使用 .toString()
运算符。提前致谢。
如果我们把代码分成几行并引入局部变量,会更容易理解。这一行:
String s = new Date().toString();
等同于:
Date d = new Date();
String s = d.toString();
你现在看,我们在 Date
class 的 实例 上调用 toString()
方法,而不是在构造函数上本身。
new Date().toString();
被 Java 的编译器解释为 (new Date()).toString()
。与 Date a = new Date(); a.toString();