我来自 C++,所以 java 的一个特性我不太理解。我读过所有对象都必须使用关键字创建new
,但基元除外。现在,如果编译器可以识别原始类型,并且不允许您在不调用其构造函数的情况下创建对象new
,有这个关键字的原因是什么new
根本吗?有人可以提供一个例子,当两行代码除了存在之外相同时new
,编译并有不同的含义/结果?
只是为了澄清我所说的冗余的含义,并希望使我的问题更清楚。做new
添加什么?是否可以在没有语言的情况下表达new
通过构造函数实例化对象?
方法和构造函数可以具有相同的名称。
public class NewTest {
public static void main(final String[] args) {
TheClass();
new TheClass();
}
static void TheClass() {
System.out.println("Method");
}
static class TheClass {
TheClass() {
System.out.println("Constructor");
}
}
}
这种语言设计选择是否是一个好主意还有待商榷,但这就是它的工作方式。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)