我试图理解方式,界面如何工作。在做了一些研究之后,我发现接口用于指定一个类必须做什么。
我在外部类中实现了一个方法(first()
),该方法将返回Position<E>
实例的元素,但我感到困惑的主要问题是first()
使用方法{{1从返回getNext()
对象的Node类,为什么我能够返回Node<E>
对象而不是Position<E>
,我甚至可以从{{1}返回Node<E>
对象方法。
Node<E>
外类方法
first()
答案 0 :(得分:0)
由于Node<E>
实现Position<E>
,Node<E>
的每个实例也是Position<E>
的实例(或者,确切地说,是实现{{{ 1}})。
因此,您可以在返回类型为Position<E>
的方法中返回Node<E>
的实例。
答案 1 :(得分:0)
为什么我能够返回Position对象而不是Node
因为,Position<E>
实现了Node
,这意味着Position
是Node
的一种类型。因此,Position
可以包含任何实现它的类实例。在您的情况下,它是Position
类,引用Node
方法,返回getNext
类型对象
Node