类实例作为Java中的私有成员

时间:2013-09-18 22:37:17

标签: java inheritance polymorphism

我有一个任务,我需要使用继承和多态,这是我的任务告诉我对我的类做的事情:

  

对于此赋值,我们将作者的Time2类子类化为Time3,以便添加适当的equals()方法,并将您之前的Date2子类化(从上一次赋值),以将Time3实例包含为私有成员。这个新类将被称为TimeStamp3(继承Date2并具有Time3实例)。

我并不完全明白他的意思

  

将Time3实例包含为私有成员

虽然我理解Time3 extends Time2TimeStamp3 extends Date2, 我只是无法弄清楚我需要做些什么来允许Date2访问Time3。

2 个答案:

答案 0 :(得分:1)

创建Time3类后,创建另一个名为TimeStamp3的类(愚蠢的名字......)

public class TimeStamp3 extends Date2 {

    private Time3 time;

    //methods, other instance variables etc.

}

答案 1 :(得分:0)

类成员也称为实例变量。因此,Time3中的Date2个实例将是私有的或受保护的,而非公开的。它可能看起来像:

class TimeStamp3 extends Date2{
...
   private Time3 timeThree; 
...

}

您不必担心访问Time3内的Date2实例,因为它是子类。如您所知,当实例变量为private时,只有类中的成员才能访问它。这不会使Time3类成为私有,只是Date2类中该对象的特定实例。

即使实例成员是私有的,Date2类中的任何方法都可以访问该成员变量。它是Date2之外的类,无法访问该实例。其他类可能会访问Time3,而不是Time3Date2的实例。