Java 有人能给我解释一下这个超级电话吗?

Java 有人能给我解释一下这个超级电话吗?,java,abstract-class,Java,Abstract Class,我真的不确定我在3-5的时候应该做什么。有人能给我解释一下吗 /** CreditCardTester——测试您必须写入的CreditCard类 默认构造函数、带参数的构造函数和toString方法。 这里什么都不要换。 */ 公共类信用卡测试仪 { 公共静态void main(字符串[]args) { 身份证; 信用卡=新信用卡(); 系统输出打印项次(卡片); System.out.println(“应为信用卡[name=unknown][id=000000,到期日为0”); System.

我真的不确定我在3-5的时候应该做什么。有人能给我解释一下吗

/** CreditCardTester——测试您必须写入的CreditCard类 默认构造函数、带参数的构造函数和toString方法。 这里什么都不要换。 */

公共类信用卡测试仪
{
公共静态void main(字符串[]args)
{
身份证;
信用卡=新信用卡();
系统输出打印项次(卡片);
System.out.println(“应为信用卡[name=unknown][id=000000,到期日为0”);
System.out.println(card.isExpired());
System.out.println(“预期为true”);
卡=新的信用卡(“Jane Doe”,“123456”,1996年);
系统输出打印项次(卡片);
System.out.println(“信用卡[name=janedoe][id=123456,1996年到期]”;
System.out.println(card.isExpired());
System.out.println(“预期为true”);
卡=新信用卡(“贾斯汀时间”,“11223344”,2016年);
System.out.println(card.isExpired());
System.out.println(“预期为false”);
}
}
/**
IDCard.java
IDCard对象有一个名称和几个获取名称的方法
然后格式化卡片。它永远不会过期。
有两个待办事项区域。。。一个用于默认构造函数,另一个用于
一个用于toString方法。
*/
类别识别卡
{
私有字符串名称;
/**
构造名为“未知”的IDCard对象
*/
公共身份证()
{
name=“未知”;
}
/**
构造具有给定名称的IDCard对象
@param name1指定的名称
*/
公共ID卡(字符串名称1)
{
name=name1;
}
/**
名称的访问器方法
@返回名称
*/
公共字符串getName()
{
返回名称;
}
/**
测试卡是否过期。
@返回false,因为此类卡从未过期
*/
公共布尔值isExpired()
{
返回false;
}
/**
生成对象的字符串表示形式
注意:使用getClass().getName()表示“IDCard”,这样子类名称
这是正确的。
@返回字符串表示形式
*/
公共字符串toString()
{
//-----------从下面开始。要做的事情:大约代码行=1
//1.类似于:“IDCard[name=Joe Turner]”
返回getClass().getName()+“[name=“+name+”]”;
//-----------------到此结束。请不要删除此评论。提醒:在todo区域之外没有更改。
}
}
/**
CreditCard.java
信用卡对象是具有ID号的专用ID卡
一年期满。
它包含三个todo区域:每个构造函数一个,每个构造函数一个
toString方法。
*/
//-----------从下面开始。要执行的操作:近似代码行=1
// 2. 类。。。因此,信用卡是IDCard的一个子类
类别信用卡扩展IDCard
//-----------------到此为止。请不要删除此评论。提醒:todo区域外无更改。
{
私有字符串id;
私人投资到期年;
/**
构造id为“000000”且过期年份为0的信用卡对象
*/
公共信用卡()
{
超级();
id=“000000”;
expirationYear=0;
}
/**
构造具有给定名称和年份的信用卡对象
@param name1指定的名称
@参数id1指定的id
@param expirey卡到期的年份
*/
公共信用卡(字符串name1、字符串id1、int expiryYear)
{
//-----------从下面开始。要做的事情:大约代码行=3
//3-5.填写此构造函数并使用超级调用
//-----------------到此结束。请不要删除此评论。提醒:在todo区域之外没有更改。
}
/**
测试卡是否过期。
@如果当前年份在到期年份之后,则返回true
*/
公共布尔值isExpired()
{
java.util.Calendar Calendar=java.util.Calendar.getInstance();
int currentYear=calendar.get(java.util.calendar.YEAR);
返回到期年<当前年;
}
/**
为卡和实例变量提供字符串表示形式
@返回表示此卡的字符串
*/
公共字符串toString()
{  
//-----------从下面开始。要做的事情:大约代码行=1
//6.类似于:“信用卡[name=joeturner][id=1342343,1999年到期]”并使用超级呼叫
return super.toString()+“[id=“+id+”,expires“+expireationyear+”];
//-----------------到此结束。请不要删除此评论。提醒:在todo区域之外没有更改。
}
}行
super()输入

public CreditCard()
{
super() ;
使调用父对象的构造函数变得明确

public IDCard()
{
name = "unknown";
}

如果您没有调用
super()默认情况下它会这样做,但您必须知道它就是这样做的。

这是家庭作业吗?或多或少,尽管这只是一个练习题,不会评分。@Gray不适合代码审查。代码不完整,也不是提问者的代码。
public IDCard()
{
name = "unknown";
}