是否可以在不使用 "new" 的情况下声明变量,例如 "String" class

Is it possible to declare a variable without using "new" like "String" class

我想实现这样的目标。像那些原始数据类型一样声明和初始化变量。(无需使用 new 关键字)

MyClass myInstance = 123;

类似于字符串。只有 "String" 类型可以做到这一点,它也是 class!

String myString = "A string!";

我想要一种不使用 new 的方法来声明一些变量,例如 new MyClass(123)

谢谢!

你不能用自定义 classes 来做到这一点。

唯一支持这种实例化的 class 是 String 和原始类型的包装器 class(IntegerBoolean 等...).

如果您使用反射,您可以在没有 "new" 的情况下创建自定义 classes 的实例,但是您将使用 Class [的 newInstance() 方法 class,这似乎不是你想要达到的。

123是一个数字,myInstance是一个对象,它们不兼容,因此你不能分配一个number(或一个string,或一个boolean) 到 MyClass 类型的变量。

未来唯一可能的方法是 Java 允许 operator overloading(例如 C++),现在您需要坚持 myInstance = new MyClass(123)