Java 类设计:实现一个接口的类实现另一个接口

Java 类设计:实现一个接口的类实现另一个接口,java,class-design,Java,Class Design,我有一个接口MLService,它具有与机器学习算法的训练和交叉验证相关的基本方法,我必须再添加两个接口classify and predict,它将实现MLService,并包含分类和获取一个特征或预测多个特征概率的方法,具体取决于我的算法,实现classify或predict的类中的特定实现方法必须从MLService对象调用。。该如何设计以实现指定的功能?考虑到注释中的示例,您可以使用对象类型转换来调用另一个(子)接口的方法 public class SVMServiceImpl impl

我有一个接口MLService,它具有与机器学习算法的训练和交叉验证相关的基本方法,我必须再添加两个接口classify and predict,它将实现MLService,并包含分类和获取一个特征或预测多个特征概率的方法,具体取决于我的算法,实现classify或predict的类中的特定实现方法必须从MLService对象调用。。该如何设计以实现指定的功能?

考虑到注释中的示例,您可以使用对象类型转换来调用另一个(子)接口的方法

public class SVMServiceImpl implements Classify,AnotherInterface{


    public static void main(String[] args) 
    {
        MLService mlserv = new SVMServiceImpl();
        /**
         * Your Algo-based on this below's typecasting should happen
         */
        ((Classify)mlserv).classifyMethod();//or ((AnotherInterface)mlserv).anotherMethod();

    }
}

考虑到comment中的示例,您可以使用对象类型转换来调用另一个(子)接口的方法

public class SVMServiceImpl implements Classify,AnotherInterface{


    public static void main(String[] args) 
    {
        MLService mlserv = new SVMServiceImpl();
        /**
         * Your Algo-based on this below's typecasting should happen
         */
        ((Classify)mlserv).classifyMethod();//or ((AnotherInterface)mlserv).anotherMethod();

    }
}

在Java8之前,接口不包含算法,因此无法“调用”代码。即使在Java8中,接口也不应该包含算法。但很少有例外。例如,保持API的向后兼容性。正如JDK所做的那样,它是为了支持功能特性。@Smutje:这里我关心的是MLService接口的引用能够调用一个方法a,该方法是在classify接口(扩展了MLService)中定义的,并在类中实现的(比如实现classify接口的SVMServiceImpl)。。我想通过某种方式实现这一点。在Java 8之前,接口不包含算法,因此无法“调用”代码。即使在Java 8中,接口也不应该包含算法。但很少有例外。例如,保持API的向后兼容性。正如JDK所做的那样,它是为了支持功能特性。@Smutje:这里我关心的是MLService接口的引用能够调用一个方法a,该方法是在classify接口(扩展了MLService)中定义的,并在类中实现的(比如实现classify接口的SVMServiceImpl)。。我想以某种方式实现这一点。