java - 强制参数名称一致性

标签 java interface

在下面的简单示例中,创建了一个界面,其中包含方法和参数名称栏。

以下实现通过指定zoo来巧妙地合法地改变了这一点。

    public class Query {

      public interface MyInterface {
        public void foo(int bar);
      }

      public class Thing implements MyInterface {
        @Override
        public void foo(int zoo) { }   
      }

      public Query() { }

      public static void main(String[] args) { }

    }

如何强制参数名称符合 MyInterface 中指定的内容(bar 不是 zoo )?

理想情况下,我正在寻找一个编译器选项或类似的选项,它会引发警告或错误。

最佳答案

在编译器级别(例如 javac)- 你不能method signature仅根据方法名称和参数类型创建,因此名称和返回类型基本上被忽略

您唯一能做的就是为 SonarQube 等工具编写自己的语法规则,但据我了解,它不适合您。

似乎您想创建一些库[代码序列化?]并强制用户使用正确的参数命名 - 这意味着您还需要强制他使用特定工具

关于java - 强制参数名称一致性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57171436/

相关文章:

c# - WPF 通过界面集合在设计器中显示虚假数据

c# - 具有 "has property X"约束的通用函数?

java - 无界Java通用接口(interface)的问题

升级到 Spark 1.3.0 时出现 JAVA_HOME 错误

java - 哪个迭代数组的习惯用法最有效?

java - OSGi - 按名称 (id) 获取 ds 服务

c# - 如何将接口(interface) obj 转换为类 obj?

java - 从java中的接口(interface)实现泛型方法

Java WebStart 版本更新

java - Libgdx 相机不工作