Java 对新关键字调用函数
这是我的代码:Java 对新关键字调用函数,java,new-operator,Java,New Operator,这是我的代码: 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); } } 有人能详细地向我解释一下,行newdate().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);
}
}
有人能详细地向我解释一下,行
newdate().toString()代码>由JVM执行。我对new
如何分配堆并不感兴趣,但我们如何在构造函数Date()
上使用.toString()
操作符呢。提前感谢。如果我们将代码分成几行,并引入局部变量,就会更容易理解。这一行:
String s = new Date().toString();
同:
Date d = new Date();
String s = d.toString();
现在,我们在Date
类的实例上调用toString()
方法,而不是在构造函数本身上解释为(new Date()).toString()
。与Date a=new Date()相同;a、 toString()
“但是我们如何在构造函数日期()上使用.toString()运算符呢?”您正在调用toString
,该实例是在日期构造函数不是直接在构造函数上调用之后返回的。很简单:new Date()
创建一个新日期。这是一个表达式,方法调用表达式是e.method(arg1,arg2,…)
,其中e
,arg1
,arg2
必须是正确类型的表达式。oof,在我之前7秒。但是有了更好的格式,Java的类型就变得如此松散,以至于我们可以在newdate()
中不使用()来传递。因为我来自C backround,在那里我们没有这么多的自由,有时会变得很困惑。谢谢你的回答。我想你的意思是弱的类型化语言