仅定义方法名称的Java接口(即变量参数)
假设我想创建一些CRUD资源。每个都有create
、update
、delete
、fetch
和list
方法。所有这些函数的返回类型都是相同的,但是这些函数的参数是不同的
是否有一种方法可以创建一个定义返回类型和方法名的接口,但允许变量参数
比如说,
class User implements CRUD {
int create(final String first_name, final String last_name);
}
class Country implements CRUD {
int create(final String name);
}
两者都有一个返回int
的create
方法,但每个方法都有一个不同的参数
# 1 楼答案
不,唯一有一些限制的黑客方法是定义方法签名,如下所示
int创建(字符串…参数)
这样,您只能提供字符串参数,所有实现类都应该以预定义的方式解析给定的输入数组
最后,这是个坏主意
# 2 楼答案
键入接口:
其中T可以是
List<String>
或String[]
或值对象或者,要更改参数的数量(如果参数类型相同):
# 3 楼答案
@Bohemian解决方案的一个特色是有一个通用接口和封装方法参数的对象