【发布时间】:2021-11-22 00:51:09
【问题描述】:
我有一个类MyClass 实现了接口IResp。
public interface IResp {
Response onResp(String a, String b)
throws Throwable;
}
public class MyClass implements IResp {
public onResp(String a, String b, String c) throws Throwable {
...
}
我需要MyClass的onResp方法中的附加String c
现在,我知道我可以通过添加未实现的onResp(String a, String b) throws Throwable{...} 或将MyClass 设为抽象类来实现此目的。
由于我是 Java 新手,请问有什么更好的方法?
注意:我只能对类进行更改,不能创建或修改接口
【问题讨论】:
-
为什么不对接口定义中的任意数量的字符串参数使用...?看看这个问题的答案stackoverflow.com/questions/3158730/…
-
如果
MyClass的用户只通过IResp调用它,那么他们将永远看不到带有三个参数的变体,他们只能调用IResp中定义的方法,即@ 987654334@,三参数方法是重载方法,不是同一种方法。
标签: java class interface overriding abstract-class