我知道,由于多义性问题,抽象类和接口都不能包含既是abstract and static的方法,但有解决方法吗?
我希望有一个抽象类或一个接口,要求在扩展/实现这个类/接口的所有类中包含一个静态方法。在Java中有没有办法做到这一点?如果不是,这可能是我对Java的最后一根稻草...
编辑1:这个问题的背景是我有一堆类,现在叫它们Stick,Ball和Toy,它们在数据库中有一堆条目。我想创建一个名为Fetchable的超类/接口,它需要在它下面的每个类中都有一个静态方法getFetchables()。Stick、Ball和Toy中的方法必须是静态的原因是因为它们将与数据库对话,以检索数据库中每个类的所有条目。
编辑2:对于那些说你不能用任何语言做到这一点的人来说,这不是真的。你当然可以在继承了类方法的Ruby中做到这一点。这不是有人没有得到面向对象的问题,而是Java语言中缺少功能的情况。您可以尝试争辩说,您永远不应该需要继承静态(类)方法,但这是完全错误的,我将忽略任何提出这一点的答案。
发布于 2009-12-17 01:11:30
您有几个选项:
https://stackoverflow.com/questions/1916019
复制相似问题