我有一个普遍的问题。假设我有以下结构:
interface IFirst{}
class A implements IFirst{}
class B extends A{}
此外还有以下课程:
class TestClass{
public dummy(IFirst data){}
}
虚拟方法接受哪种对象?
答案 0 :(得分:0)
简单,每个Object以某种方式实现接口IFirst
。
在您的A
以及B
示例中,B
扩展A
IFirst
,因此B
也是{{1} }}
这是另一个例子,以下结构:
IFirst
从某种意义上讲,interface Animal
class Dog implements Animal
class Cat implements Animal
class Husky extends Dog
class SmallDog extends Dog
class Chihuahua extends SmallDog
类型的所有内容都是合理的:)