gpt4 book ai didi

Java AddObserver(this) 在静态 main 中

转载 作者:行者123 更新时间:2023-12-01 11:03:00 27 4
gpt4 key购买 nike

所以我有一个像public class Main Implements Observer{}这样声明的函数,里面有主函数public static void main(String[] args) {}并且在其中,我想执行此操作ObservableClass.addObserver(this)。但由于 main 是静态的,我无法做到这一点,并且向 Main 类添加方法也无法解决问题,因为它将从 static 调用无论如何,功能。基本上我希望Main class成为一个观察者并实现一个方法update()。有人知道实现这个的方法吗?谢谢。

最佳答案

它应该是这样的:

public class Main implements Observer {

@Override
public void update(Observable o, Object arg) {
// ...
}

public static void main(String[] args) {
// ...
observable.addObserver(new Main());
}
}

main 方法最好移至另一个类,它唯一的工作是启动主应用程序。在 Observer 实现中使用 main 方法启动应用程序,看起来很可疑,违反了 single responsibility principle .

换句话说,Main 不应该实现Observer。它应该是另一个实现 Observer 的类。 Main 类应该只有一个 main 方法,用于配置和启动应用程序,并且不执行任何其他操作。

关于Java AddObserver(this) 在静态 main 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33197289/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com