我有两个类,我希望我的第二个类可以从第一个类访问私有数据。
通常我会:
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中的那些。*)
编辑:即使我决定使用内部课程,我的问题的答案是扩展和实现的顺序,谢谢。
答案 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
不是通常所做的。对于接口,它们限制性最小,可以在任何地方使用。