实现接口和对象

151*_*Bad 3 java oop interface object implements

当一个类实现一个接口时,是否会使从该类实例化的对象被视为该接口的对象?

即在实现Runnable接口的类上,是否会将从该类创建的实例称为Runnable对象?

因此,在期望Runnable对象引用变量(例如,在方法或构造函数的参数中)的情况下,为什么我们可以提供该类的实例作为该方法或构造函数的参数是合法的?是因为通过实现接口,类本质上是接口的对象吗?

das*_*ght 5

C实现接口的类的对象I可以被称为该接口的对象,尽管单个对象可以具有许多接口.里氏替换原则要求C是可用的任何地方I是必需的,所以在本质上I成为合同C,代表的一个子集C小号的能力,适用于某种情况.

例如,当一个对象实现时Runnable,run()接口中的方法将类的特定方面呈现给Java类库 - 即,类的对象可以"运行"(通过调用run()它们).存在Runnable允许您独立于Java设计者编写线程逻辑,Java设计人员独立于实现的逻辑编写其线程执行代码.