Java 接口(interface)仅定义方法名称(即变量参数)

标签 java

假设我想创建一些 CRUD 资源。每个都有 createupdatedeletefetchlist 方法。所有这些的返回类型都是相同的,但这些东西的参数会不同。

有没有一种方法可以创建一个定义返回类型和方法名称但允许变量参数的接口(interface)?

例如,

class User implements CRUD {
    int create(final String first_name, final String last_name);
}

class Country implements CRUD {
    int create(final String name);
}

两者都有一个返回 intcreate 方法,但每个都有不同的参数。

最佳答案

@Bohemian 解决方案的一个特点是拥有一个通用接口(interface)和封装方法参数的对象

class UserParam {
    String fristName;
    String lastName;
}

class CountryParam {
    String name;
}

interface CRUD<T> {
    int create(T param);
}

class User implements CRUD<UserParam> {
    int create(UserParam param) {
        // do something based on received param of type UserParam
    }
}

class Country implements CRUD<CountryParam> {
    int create(CountryParam param) {
        // do something based on received param of type CountryParam
    }
}

关于Java 接口(interface)仅定义方法名称(即变量参数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53199254/

相关文章:

用于 mmorpg 游戏服务器的 Java SSLSocket

java - Jersey 2.22 和 json 不支持的媒体类型

Java Swing : Read many images files without memory problems?

java - 为什么 Java 类型推断不适用于参数化类型的返回值?

java - 将按键发送到 JTextField

java - 奇怪的谜题 - 位置的无效内存访问

java - 如何将 JPA 元组结果投影到实体中

java - 如何根据实体接口(interface)声明存储库?

java - 如何在Spring配置文件中配置Hibernate

java - 使用对象字段从 ArrayList<Object> 创建 Object[][] 的简单方法