java - 我可以在 Java 中重命名已实现的方法吗?

标签 java interface rename explicit

我有一个实现接口(interface)的类,其中一个方法称为 onClick。有没有一种方法可以实现界面想要的 onClick 但将其命名为其他名称?类似的东西(我正在编造):

public void AnyMethodNameIWant() implements Interface1.onClick

我问的三个原因是:

  1. 最好查看方法签名并知道它是 来自接口(interface)
  2. 为了避免像 onClick 这样的接口(interface)可能要求我拥有的“通用”名称
  3. 区分多个接口(interface)中相同的方法名

如果这是一个根本上“糟糕”的问题,我深表歉意,因为我是 Java 的新手。

最佳答案

不,你不能。接口(interface)必须由 Java 中的同名方法实现。

不过,您可以将 @Override 注释与接口(interface)实现一起使用(从 Java 6 开始),这有助于阐明这是一种不能随意重命名的方法。

第二个问题的一个选择可能是创建一个实现类,只是 用于转发对更具体方法的调用。您可能希望将其作为嵌套类甚至匿名类来执行。不过,我不确定我通常会这样做。

编辑:看到第三个问题后 - 不,如果你有两个在 Java 中具有相同方法签名的接口(interface),你只能提供一个实现 :( 哦,如果你有两个具有相同签名但不同的接口(interface)返回类型,更糟。你总是可以编写 Interface1 getInterface1() 的方法,它返回一个匿名内部类的实例,代理 Interface1 方法到“main”类。

关于java - 我可以在 Java 中重命名已实现的方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7619671/

相关文章:

linux - 在 linux 中查找没有扩展名的文件并批量重命名它们

java - 从 java 调用 coldfusion 组件

java - Raspberry PI GPIO Java 代码错误

delphi - 如何在 Delphi 中找到导致 AV 的悬空接口(interface)

java - 如何在java中重命名文件夹

r - 如何将字符串附加到 R 中的变量名称子集?

java - Java中i+=d和i=i+d有什么区别?

java - 无法阻止我的机器人自行返回的运动

Delphi-代理设计模式-接口(interface)问题

tdd - 界面疯狂