我有一个非常基本的疑问。是否可以使用' ='创建一个可以创建对象的类。 operator(就像Integer / String类)而不是使用" new CustomClass()"。
考虑一个名为CustomClass的类。我需要根据创建对象的语法来定义我的类,就像Integer / String类一样。
EG。为了创建我们编写的Integer对象,Integer pInt = 10或String pStr =" testWorld&#34 ;; LikeWise,我想要我的自定义类的对象" CustomClass"使用CustomClass custObj = 45;
等简单语法创建答案 0 :(得分:5)
不,Java并没有为此提供方法。甚至String
也是Java中的一个特例,给出了一些额外的语法来简化操作。至于Integer x = 10;
,这只是自动装箱,尽管它也不需要new
语法。
您必须使用构造函数和工厂方法。
答案 1 :(得分:4)
我担心这是不可能的。 Java包含一些特殊的语法糖案例,可以让您轻松创建对象,但是您无法定义自己的对象。这些内置于语言中。这与Java不支持像C ++或Scala等其他语言一样重载运算符有关。
顺便说一句,另一个例子是初始化数组:
int[] arr = {1, 2, 3};