如何抽象静态实例/集合生成器?

时间:2015-03-23 18:52:43

标签: java

我所说的是那些生成对象的静态函数,例如:

class MyClass {
  public static MyClass fromOtherClass(OtherClass foo) { ... }
}

在我的具体情况中,我有代表程序窗口的接口Window。它有clickminimize等方法。显然,有很多选项可以获取窗口实例。我希望有以下抽象静态方法:

public abstract static Window byTitle(String windowTitle);
public abstract static List<Window> filterAll(WindowValidator validator); //WindowValidator is simple callback interface
public abstract static Window byThreadID(int id);

这三种方法在我知道的任何GUI操作系统上都是有效的,因此我认为没有理由不抽象 - 除了Java否认它。

每当有人遇到Java的严格界限时,其他开发人员都会提醒他,他的设计存在一些缺陷。我知道在Java中,静态方法绑定到类定义。

我的问题是我应该如何正确实现这一点,因为静态抽象方法是无意义的。

0 个答案:

没有答案