是否可以在不使用 "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(Integer
、Boolean
等...).
如果您使用反射,您可以在没有 "new" 的情况下创建自定义 classes 的实例,但是您将使用 Class
[的 newInstance()
方法 class,这似乎不是你想要达到的。
123
是一个数字,myInstance
是一个对象,它们不兼容,因此你不能分配一个number
(或一个string
,或一个boolean
) 到 MyClass
类型的变量。
未来唯一可能的方法是 Java 允许 operator overloading
(例如 C++),现在您需要坚持 myInstance = new MyClass(123)
。
我想实现这样的目标。像那些原始数据类型一样声明和初始化变量。(无需使用 new 关键字)
MyClass myInstance = 123;
类似于字符串。只有 "String" 类型可以做到这一点,它也是 class!
String myString = "A string!";
我想要一种不使用 new
的方法来声明一些变量,例如 new MyClass(123)
谢谢!
你不能用自定义 classes 来做到这一点。
唯一支持这种实例化的 class 是 String
和原始类型的包装器 class(Integer
、Boolean
等...).
如果您使用反射,您可以在没有 "new" 的情况下创建自定义 classes 的实例,但是您将使用 Class
[的 newInstance()
方法 class,这似乎不是你想要达到的。
123
是一个数字,myInstance
是一个对象,它们不兼容,因此你不能分配一个number
(或一个string
,或一个boolean
) 到 MyClass
类型的变量。
未来唯一可能的方法是 Java 允许 operator overloading
(例如 C++),现在您需要坚持 myInstance = new MyClass(123)
。