我有一个实现接口(interface)的类,其中一个方法称为 onClick。有没有一种方法可以实现界面想要的 onClick 但将其命名为其他名称?类似的东西(我正在编造):
public void AnyMethodNameIWant() implements Interface1.onClick
我问的三个原因是:
- 最好查看方法签名并知道它是 来自接口(interface)
- 为了避免像 onClick 这样的接口(interface)可能要求我拥有的“通用”名称
- 区分多个接口(interface)中相同的方法名
如果这是一个根本上“糟糕”的问题,我深表歉意,因为我是 Java 的新手。
最佳答案
不,你不能。接口(interface)必须由 Java 中的同名方法实现。
不过,您可以将 @Override
注释与接口(interface)实现一起使用(从 Java 6 开始),这有助于阐明这是一种不能随意重命名的方法。
第二个问题的一个选择可能是创建一个实现类,只是 用于转发对更具体方法的调用。您可能希望将其作为嵌套类甚至匿名类来执行。不过,我不确定我通常会这样做。
编辑:看到第三个问题后 - 不,如果你有两个在 Java 中具有相同方法签名的接口(interface),你只能提供一个实现 :( 哦,如果你有两个具有相同签名但不同的接口(interface)返回类型,更糟。你总是可以编写 Interface1 getInterface1()
的方法,它返回一个匿名内部类的实例,代理 Interface1
方法到“main”类。
关于java - 我可以在 Java 中重命名已实现的方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7619671/