初学者:尝试使用带有接口的类扩展另一个类

时间:2012-11-04 15:03:00

标签: java

我有两个类,我希望我的第二个类可以从第一个类访问私有数据。

通常我会:

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>类的界面应该在晚餐界面吗?如果是这样......怎么样?

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

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

3 个答案:

答案 0 :(得分: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

(见its Javadoc。)

答案 1 :(得分:1)

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

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

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

答案 2 :(得分:1)

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