这个问题总结了一下。
在 C++ 中,您可以使用仅包含类型的参数列表来声明接口方法,但在 Java 中,您需要将变量名与类型相关联。我知道这会增加可读性,但如果这是可选的,那就太好了。参数名称甚至不必与实现名称匹配,那么为什么还要在接口中命名它们呢?
public interface Foo() {
setName(String, String) // Why can't this be enough?
}
public class FooImpl implements Foo {
private String name = "";
@override
setName(String fname, String lname) {
this.name = String.format("%s %s", fname, lname);
}
}