是否可以在不使用" new"的情况下声明变量。喜欢" String"类

时间:2015-04-19 07:21:15

标签: java class variables instance declaration

我想实现这样的目标。声明并初始化一个变量,就像那些原始数据类型一样。(不必使用new关键字)

MyClass myInstance = 123;

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

String myString = "A string!";

我想要一种方法来声明一些变量而不使用像new

这样的new MyClass(123)

谢谢!

2 个答案:

答案 0 :(得分:8)

您无法使用自定义类进行此操作。

支持此类实例化的唯一类是String和基元类型的包装类(IntegerBoolean等等。)。

您可以创建自定义类的实例,而不使用" new"如果你使用反射,但是你使用newInstance()类的Class方法,这似乎不是你希望实现的方法。

答案 1 :(得分:2)

123是一个数字,myInstance是一个对象,它们不兼容,因此您无法指定number(或string或{{1 }}}到boolean类型的变量。

将来可行的唯一方法是,如果Java允许MyClass(例如C ++),现在你需要坚持operator overloading