我被问到这是一次采访,但还没有找到答案。
答案 0 :(得分:2)
这可能吗?
是的,这是可能的。这没有任何区别。您的类仍然必须提供单个方法定义。这将满足两个接口的合同。
答案 1 :(得分:2)
虽然如果两个接口提供不同的合同或不同的预期行为,但是您的代码可能会遇到细微的,难以调试的问题,因为您可以将对象传递给期望复杂性的方法,这是可以接受的。一个界面,但遭遇另一个界面的错综复杂。
答案 2 :(得分: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);
}
}
答案 3 :(得分:-1)
是的,这是可能的。有些接口根本没有必需的方法。 Serializable是一个。