繁体   English   中英

我可以在Java中重载接口吗?

[英]Can I overload an interface in Java?

我想定义一个与其他接口同名但不同参数的接口。 我该怎么做? 请帮忙。

public interface IFactory<T> {
    IFactory<T> Select(List<String> fields);
    IFactory<T> GroupBy(Expression<?> fields);
    IFactory<T> Where(Object column, ConditionalMethods conditionalMethod, Object... value);
    IFactory<T> And(Object column, ConditionalMethods conditionalMethod, Object... value);
    IFactory<T> Or(Object column, ConditionalMethods conditionalMethod, Object... value);

    T Take();
    T TakeNewObject();
    T TakeAndLock();
}

public interface IFactory<T, Z> {
    IFactory<T, Z> Select(List<String> fields);
    IFactory<T, Z> GroupBy(Expression<?> fields);
    IFactory<T, Z> Where(Object column, ConditionalMethods conditionalMethod, Object... value);
    IFactory<T, Z> And(Object column, ConditionalMethods conditionalMethod, Object... value);
    IFactory<T, Z> Or(Object column, ConditionalMethods conditionalMethod, Object... value);

    T Take();
    T TakeNewObject();
    T TakeAndLock();
}

我收到以下错误:

java重复类:com.xxx.IFactory

你不能。 您必须使用不同的名称。 这就是在JDK界面中完成的方式。

例如,考虑java.util.function.Function<T, R>java.util.function.BiFunction<T, U, R> 两者都是表示函数的函数接口,但第一个表示具有一个参数(和结果)的函数,第二个表示具有两个参数(和结果)的函数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM