我有一个任务,我需要使用继承和多态,这是我的任务告诉我对我的类做的事情:
对于此赋值,我们将作者的Time2类子类化为Time3,以便添加适当的equals()方法,并将您之前的Date2子类化(从上一次赋值),以将Time3实例包含为私有成员。这个新类将被称为TimeStamp3(继承Date2并具有Time3实例)。
我并不完全明白他的意思
将Time3实例包含为私有成员
虽然我理解Time3 extends Time2
和TimeStamp3 extends Date2
,
我只是无法弄清楚我需要做些什么来允许Date2访问Time3。
答案 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
,而不是Time3
内Date2
的实例。