3

我有一个

public interface DoIt {
    void dosomething (int i, double x);
    int dosomethingelse (String s);
}

一些实现它的类class_of_a等等......我想在接口中添加一个新方法让我们说diditwork(int x); 我应该如何做到这一点,同时避免重新编译的问题或任何可能的问题?新的层次结构是什么?

4

3 回答 3

7

创建一个新接口并扩展旧接口,例如:

interface DoIt2 extends DoIt
{
    // void doSomething(int i, double x);
    // int doSomethingelse(String s);
    void didItWork(int x);
}
于 2012-07-10T14:26:22.910 回答
2

您可以像这样扩展现有的接口:

interface DoItMore extends DoIt {  diditwork(int x);  }  

因此,您将拥有用于低级类的旧接口和用于高级的新接口。然后您必须更改高级课程中使用的接口。

于 2012-07-10T14:30:41.090 回答
-1

创建另一个接口并让给定的类实现这两个接口

例如

public interface DoIt { 
    void dosomething(int i, double x);
    int dosomethingelse(String s);
}

和新界面

public interface CheckIt {
    boolean diditwork(int x);
}

不需要检查的类将只实现 DoIt 接口,需要检查的类也将实现 CheckIt 接口

于 2012-07-10T14:27:57.087 回答