2011-03-21 44 views
1

在Java中,一个对象可以有几个不同的类?Java对象,继承和接口

如果是,那么继承和接口应该如何影响它呢?

+1

我不知道我理解你的第二个问题。你能详细说明吗?此外,这是一个功课问题? – templatetypedef 2011-03-21 03:19:19

+0

http://download.oracle.com/javase/tutorial/java/IandI/index.html – 2011-03-21 03:22:51

回答

5

这不是一个很好的,提出的问题。任何对象都可以是唯一的一个类(忽略像int这样的非对象原语)。另一方面,类可以有任意数量的超类,所以你的类可以匹配一个artitrary的“is a”关系其他类的数量。

在接口问题上,所有接口带来的是一个“契约” - 你承诺实现某些方法或具有某些属性。这有点类似于多重继承,但不是真正的多重继承。同样,实现一个接口意味着类有另一个“是”属性,但这并不意味着它完全引入了其他类。

+1

+1以获得全面而简洁的答案。 Java的“简单白皮书”对此有多重继承的说法:“多重继承 - 以及它产生的所有问题 - 被Java抛弃了,多重继承的理想特性由接口提供。” – corsiKa 2011-03-21 03:27:38

1

class A{} 

class B extends A{} 

void foo() 
{ 
    B b = ...; // here object b is of type B and A(by inheritance) 

}