当前位置: 首页 > 面试题库 >

Java抽象静态解决方法

魏兴邦
2023-03-14
问题内容

我了解由于歧义性问题,抽象类或接口都不能包含既抽象又静态的方法,但是有解决方法吗?

我想要一个抽象类或一个接口,该接口要求在扩展/实现该类/接口的所有类中都包含静态方法。有没有办法在Java中做到这一点?如果没有,这可能是我使用Java的最后一根稻草…

编辑1:此问题的上下文是我有一堆类,现在称它们为Stick,Ball和Toy,它们在数据库中有一堆条目。我想创建一个称为Fetchable的超类/接口,该超类/接口getFetchables()在其下面的每个类中都需要一个静态方法。Stick,Ball和Toy中的方法必须静态的原因是,它们将与数据库进行对话以检索每个类在数据库中的所有条目。

编辑2:对于那些说你不能用任何语言做到的人,那是不正确的。您当然可以在继承类方法的Ruby中执行此操作。这不是有人无法获得OO的情况,而是Java语言缺少功能的情况。您可以尝试辩称,您永远不需要继承静态(类)方法,但这是完全错误的,我将忽略提出这些观点的任何答案。


问题答案:

您有两种选择:

  1. 使用反射来查看该方法是否存在,然后调用它。
  2. 为名为@GetAllWidgetsMethod之类的静态方法创建注释。

  3. 正如其他人所说,请尝试不要使用静态方法。



 类似资料:
  • 问题内容: 我们有一个给定的REST接口: 可以根据服务器配置,通过不同的逻辑“计算器”来实现此计算。 现在,我们正在设计每个计算器必须实现的Java接口。该接口将为每个REST服务提供一个方法。 鉴于所有REST(和HTTP)调用都是无状态的,因此每个方法都应该是静态的。但是,您不能在Java接口中定义静态方法。有没有针对这种情况的好的解决方法? 我们可以将这些方法定义为非静态方法,然后仅创建一

  • 问题内容: 问题是在Java中为什么不能定义抽象静态方法?例如 问题答案: 因为“抽象”的意思是:“不实现任何功能”,而“静态”的意思是:“即使没有对象实例也有功能”。这是一个逻辑上的矛盾。

  • 问题内容: 问题是在Java中为什么不能定义抽象的静态方法?例如 问题答案: 因为“抽象”表示:“不执行任何功能”,而“静态”表示:“即使没有对象实例也具有功能”。这是一个逻辑上的矛盾。

  • 问题内容: 但是那我该如何解决呢? 我的应用程序使用几种类型的文件,我想分配一些静态属性,例如对该文件类型的描述(例如“数据文件”,另一个是“配置文件”,等等)。显然,我会将其放入静态String中,以便无需实例文件即可访问描述(对GUI fi有用)。另一方面,显然所有文件类型都应具有一些通用方法,例如,显然我想从通用超类继承。 在超类中当然是抽象的。 尝试使用超类和接口的组合,但是存在类似的问题

  • 本文向大家介绍C#中实现抽象类里建立静态方法,包括了C#中实现抽象类里建立静态方法的使用技巧和注意事项,需要的朋友参考一下 本文简述了C#中实现抽象类里建立静态方法的解决办法,示例程序如下: 如上面所示的程序是可以运行的。 一般情况下抽象类中可以包含抽象方法和非抽象方法,静态类中只能包含静态成员,所有的静态成员也只能包含在静态类中。 因为静态static的本质是包含abstract和sealed的

  • 问题内容: 是否可以使用需要解析数据的ui-router来建立抽象状态?我需要使用个人资料信息加载页面的上半部分,然后在页面底部添加一个用于加载其他详细信息的子导航。这个想法是,抽象状态每次都会加载配置文件信息,而不管我处于哪个子状态。它似乎不起作用。 例: 问题答案: 和它的 plnkr 因此,在我们的情况下,我们需要在父级中进行此更改 和这个孩子 因此,与其在父母和孩子中使用resolve:{