关于java的事实问题

dev*_*vin 2 java

我的老师最近给出了关于java的练习考试,我很想知道我是如何对真/假部分做的.我对第一名最不自信,所以任何解释都会有所帮助.

  1. 在Java中,类可以扩展任意数量的抽象类.

    假.我不太明白为什么,是因为在继承类中,父类可能会导致冲突?

  2. 在Java中,传递类型为抽象类的参数是非法的.

    虚假的抽象类甚至没有构造函数......

  3. 在Java中,抽象类可以包含任意数量的子类.

    真正.我想不出任何会限制这种情况的事情.

  4. 在Java中,类可以实现的接口数量没有限制.

    真正

  5. 无法将堆栈实现为双向链接列表,因为堆栈只需要访问列表的一端,而双向链接列表则提供对列表两端的访问.

    真正.但效率不高.

Uri*_*Uri 7

1)它是错误的,因为Java不支持多重继承.一个类只能扩展一个类,无论它是否为抽象类.它可以传递地扩展多个类(例如,它扩展了B,它扩展了C,因此间接地扩展了C).一个类可以实现多个接口.Java不支持多重继承有很多原因,但它确实支持多个接口,因此它在很多方面都更好.

2)首先,抽象类可以有构造函数.声明是错误的,因为您可以将抽象类型作为参数传递.由于多态性,您将传递已实例化的具体子类型.

3)那是真的

4)这在某种程度上是正确的(JVM实现存在一些限制,但在实践中你永远不会遇到它)

5)您可以轻松地将堆栈实现为双向链表,这是一个很好的练习.它甚至是高效的,因为你仍然在O(1)做所有事情.