1

我被问到这是一个采访,并没有找到答案。

4

4 回答 4

2

那可能吗?

是的,这是可能的。那不会有任何区别。您的类仍然必须提供单个方法定义。这将满足两个接口的合同。

于 2013-07-10T19:01:13.317 回答
2

这是可以接受的,但如果这两个接口提供不同的契约或不同的预期行为,您的代码可能会遇到微妙的、难以调试的问题,因为您可以将对象传递给期望一个接口的复杂性的方法,但遇到对方的错综复杂。

于 2013-07-10T19:02:42.377 回答
1

是的,这是可能的。如果两个原型或方法头都相同,您只需在类中编写方法,并且您天生就满足两个接口的约定(假设还包括所有其他方法)。

接口不会告诉你如何实现某些东西,它是一个约定,要求某些方法出现在实现接口的类中。现在,“预期的”冲突行为可能存在问题;但是,如果按照设计,您应该实现这两个接口,这是一种完全可以接受的做法。

编辑:这是一个(要求的)示例:

public interface One
{
    void test(String x);
}

public interface Two
{
    void test(String x);
}

public class InterfaceTest implements One, Two
{
    public void test(String s)
    {
        System.out.println(s);
    }
}
于 2013-07-10T19:12:04.080 回答
-1

对的,这是可能的。有些接口根本没有必需的方法。可序列化就是其中之一。

于 2013-07-10T19:06:22.800 回答