Java 实例能否稍后完成其参数?

Java 实例能否稍后完成其参数?,java,instances,Java,Instances,我想知道是否有任何方法可以用参数声明一个新实例,而不填充它们,稍后再设置它们 以下是一个例子: private Example example = new Example() // Need 1 parameter. public void foo(Object arg1) { example = new Example(arg1); } 很明显,这是不可能的,但是有没有类似的方法?您可以始终使用无参数构造函数,然后稍后设置所创建实例的属性 .... public Example ()

我想知道是否有任何方法可以用参数声明一个新实例,而不填充它们,稍后再设置它们

以下是一个例子:

private Example example = new Example() // Need 1 parameter.

public void foo(Object arg1)
{
   example = new Example(arg1);
}

很明显,这是不可能的,但是有没有类似的方法?

您可以始终使用无参数构造函数,然后稍后设置所创建实例的属性

....
public Example ()
{
    this.s = null;
}

public Example (String s)
{
    this.s = s;
}
....
public void setS (String s)
{
    this.s = s;
}
....
Example ex = new Example ("something");
Example ex2 = new Example ();
ex2.setS("Something Else");
现在,您可以按如下方式使用它:

Example example = new Example();
example.setObject1(someObject);

正如其他人和您自己已经指出的,当您无法提供所需的参数时,没有简单/正式的对象构造方法


你可能想看看这个。它们提供了以非标准方式实例化对象的巧妙方法。据我所知,有时可以实例化对象,而不提供构造函数声明的通常必须的参数。

只有在由您或编译器自动定义无参数构造函数的情况下,您才能始终使用无参数构造函数。@LuiggiMendoza非常公平。我假设这个类在OP的控制下,所以他们可以添加任何他们需要的构造函数。看起来很有希望,谢谢!在6分钟内接受答案。
Example example = new Example();
example.setObject1(someObject);