1

我有两节课,我希望我的第二节课能够访问第一节课的私人数据。

通常我会有:

public class GenericDictionary<T> implements GenericDictionary_interface<T> {

public class Iterator<T> extends GenericDictionary<T> {

但是我有一个界面,我不完全知道它们是如何工作的,有时它们似乎没有必要。

public class Iterator<T> implements Iterator_interface<T> {

如何扩展另一个类并拥有一个接口?不需要接口吗?我Iterator<T>班级的界面应该在晚餐的界面吗?如果是这样……怎么办?

PS请不要告诉我为什么我在做我正在做的事情(也就是制作我自己的东西而不是使用java.util中的东西。*)

编辑:即使我决定使用内部类,我的问题的答案是扩展和实现的顺序,谢谢。

4

3 回答 3

2

如何扩展另一个类并拥有一个接口?

你把第extends一个,然后是implements

public class Iterator<T>
    extends GenericDictionary<T>
    implements Iterator_interface<T>
{

例如,在 JDK 中,java.util.ArrayList给出为

public class ArrayList<E>
extends AbstractList<E>
implements List<E>, RandomAccess, Cloneable, Serializable

(参见它的 Javadoc。)

于 2012-11-04T15:06:51.680 回答
1

How can I extend another class and have an interface ?如果您的意思是,一个类如何在实现接口的同时扩展另一个类。

   public class Iterator<T> extends anotherClass implements Iterator_interface<T> {

当您有两个或多个具有相同行为但行为略有不同的类时,请使用接口。

于 2012-11-04T15:08:02.957 回答
1

如果您希望另一个类访问第一个类的私有数据,您可以将其设为内部类。它将能够访问外部类的私有成员。继承就是在编程世界中反映现实世界的问题,而 Iterator extends GenericDictionary不是通常做的事情。对于接口,它们的限制最少,可以在任何地方使用。

于 2012-11-04T15:17:37.143 回答