1

我有一个需要使用继承和多态的任务:

对于这个作业,我们将作者的 Time2 类子类化为 Time3 并将您之前的 Date2 子类化以包含一个 Time3 实例作为私有成员。这个新类将被称为 TimeStamp3(继承 Date2 并具有 Time3 实例)。

我不完全理解这部分:

包括一个 Time3 实例作为私有成员

虽然我明白这一点Time3 extends Time2TimeStamp3 extends Date2但我只是不知道我需要做什么才能允许 Date2 访问 Time3。

4

2 回答 2

1

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

public class TimeStamp3 extends Date2 {

    private Time3 time;

    //methods, other instance variables etc.

}
于 2013-09-18T22:44:52.297 回答
0

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

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

}

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

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

于 2013-09-18T22:45:34.717 回答