java - 如何重置Java中的当前对象?

标签 java object this reset

如果我有一个 Foo 类型的对象 myObject,而在 myObject 内部,有没有办法重置自身并再次运行构造函数?

我知道以下内容不起作用,但可能有助于传达这个想法。

this = new Foo();

最佳答案

无法在现有实例上再次运行构造函数。但是,您可以通过一种方式来组织您的代码,以允许以最少的工作量进行重置,如下所示:

public class MyClass {
    public MyClass() {
        reset();
    }
    public void reset() {
        // Setup the instance
        this.field1 = ...
        this.field2 = ...
    }
}

注意:您的重置方法需要设置所有字段,而不仅仅是您通常在构造函数中设置的字段。例如,您的构造函数可以依赖于将引用字段默认初始化为 null 并将数字字段初始化为零;您的 reset 方法需要明确设置它们。

关于java - 如何重置Java中的当前对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20386444/

相关文章:

javascript - 使用箭头函数(Lexical this)时包围词法上下文的意义

JavaScript - 我可以获得方法的父对象吗?

java - 如何设置代码以便允许按钮中使用值 "X"和 "O"?

javascript - 如何从 JavaScript 对象中删除属性?

javascript - `this` 的属性在 setTimeout 内未定义

php - 为什么 php 中的++ 运算符作用于对象属性?

java - 如何在java中的类中声明对象的ArrayList?

java - 如何修复 intellij 中损坏的 java 类?

java - 当我尝试通过 gradle 进行 jaxb 绑定(bind)时,为什么无法解析 XSD 模式

java - Cassandra IllegalArgumentException 创建键空间