在 C# 中可以这样写:
MyClass obj = new MyClass()
{
field1 = "hello",
field2 = "world",
field3 = new MyOtherClass()
{
etc....
}
}
我可以看到数组初始化可以用类似的方式完成,但是在 Java 中也可以完成与上面类似的事情,如果可以,语法是什么?
该初始化语法不存在在爪哇。
类似的方法是使用双括号初始化,在其中创建带有初始化块的匿名内部子类:
MyClass obj = new MyClass() {{
// in Java these would be more like this: setFieldX(value);
field1 = "hello";
field2 = "world";
field3 = new MyOtherClass() ...
}};
但请注意,您实际上正在创建一个subclass.
另一种方法是创建一个构建器MyClass
,并有这样的代码:
MyClass obj = new MyClassBuilder().
withField1("hello").
withField2("world").
withField3(new MyOtherClass()).
build();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)