在Java中,一个对象可以有几个不同的类吗?
如果是,继承和接口应如何影响它呢?
答案 0 :(得分:5)
这不是一个非常好的问题。任何对象都可以是一个且只有一个类(忽略像int这样的非对象原语。)另一方面,一个类可能有任意数量的超类,所以你的类可以匹配artitrary的“is a”关系其他课程的数量。
在界面问题上,所有界面引入的都是“契约” - 您承诺实施某些方法或具有某些属性。这有点类似于多重继承,但实际上并不是多重继承。同样,实现一个接口意味着该类具有另一个“是一个”属性,但这并不意味着它完全引入了其他类。
答案 1 :(得分:1)
是
class A{}
class B extends A{}
void foo()
{
B b = ...; // here object b is of type B and A(by inheritance)
}