让我用一个例子来澄清我的问题。假设我有一个 interface I
,其中定义了 abc()
方法。我还有另外两个类,即 A
和 B
,它们实现 I 并覆盖 abc() 方法。
现在我的问题是为什么我们用户界面只是为了定义方法而不是直接在类中实现而不定义和实现接口(interface)?就像...
interface I{
public void abc();
}
class A implements I{
@Override
public void abc() { ... }
}
class B implements I{
@Override
public void abc() { ... }
}
而不是
class A {
public void abc() { ... }
}
class B {
public void abc() { ... }
}
用小例子进行解释会非常有帮助。谢谢。
最佳答案
如果您愿意的话,您可以,但是您不能以同样的方式对待A
和B
。获取 A
和 B
类型的对象并将它们混合在一起,同时仍然能够调用 abc()
方法,没有共同点.
关于java - 为什么我们使用Interface来定义方法并在Concrete Class中实现和定义它的主体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18456799/