java - 我可以取消分配(清除)实例的所有字段吗?

标签 java oop field

有没有一种简单的方法可以从实例中清除实例的所有字段?我的意思是,我想删除分配给实例字段的所有值。

已添加

我从主线程启动一个窗口和另一个控制窗口状态的线程(例如,最后一个线程在特定时间段内显示特定面板)。我有一个包含窗口状态的类(用户在哪个阶段,他已经点击了哪些按钮)。

最后,用户可能希望从头开始整个过程​​(这是一个游戏)。所以,我决定了。所以,如果一切都从头开始执行,我希望所有参数都是干净的(新鲜的,未分配的)。

已添加

主线程,创建在新线程中执行的新对象(旧线程已完成)。所以,我无法从旧线程创建新对象。我只是在第二个线程中有一个循环。

最佳答案

我不明白。您如何以编程方式决定如何清除各个字段?

对于普通属性,它可能很容易 (var = null),但是复合事物或集合呢?应该是collection = null,还是collection.removeAll()

这个问题正在寻找没有多大意义的句法糖..

最好的方法是编写您自己的reset() 方法来自定义每个对象的行为。也许您可以模式化它使用

interface Resettable
{
  void reset()
}

但仅此而已..

关于java - 我可以取消分配(清除)实例的所有字段吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2601286/

相关文章:

java - 为什么 instanceof 在这种情况下返回成功

ms-access - 表在日期时间字段上加入 Access 2003

java - GUI 与 Jsoup 一起使用

c++ - 我怎样才能避免这种丑陋的嵌套类 C++ 代码

java - 保存对话框输入

c++ - 重载运算符以与 C++ 中的另一个类一起使用

c++ - 我可以根据私有(private)/ protected 成员分配类枚举吗?

java - 封装 - 在同一个类中使用 setter/getter ?

java - 是否可以在 Scala 中使用 Java 8 风格的方法引用?

java - 根据模式java分割给定的文本