Java字符串方法错误

Java字符串方法错误,java,class,Java,Class,我准备了日期和日期测试类,如下所示 日期类 public Date( String m, int d, int y) { this("m",d,y); } Date myDate2 = new Date("april",18 , 2013); System.out.println(myDate2); 日期测试类 public Date( String m, int d, int y) { this("m",d,y); } Date myDate2 = new Date("april",18

我准备了日期和日期测试类,如下所示

日期类

public Date( String m, int d, int y)
{
this("m",d,y);
}
Date myDate2 = new Date("april",18 , 2013);
System.out.println(myDate2);
日期测试类

public Date( String m, int d, int y)
{
this("m",d,y);
}
Date myDate2 = new Date("april",18 , 2013);
System.out.println(myDate2);
但我收到下面的错误消息。有人能告诉我问题是什么,我如何解决它吗

错误消息 线程“main”java.lang中出现异常。错误:未解决的编译问题: 递归构造函数调用日期(字符串,int,int)

日期(Date.java:24)
在DateTest.main(DateTest.java:10)

根据错误消息判断,我认为调用
this()
是导致问题的原因

public Date( String m, int d, int y)
{
this("m",d,y);
}
显然调用
这个(“m”,d,y)意味着你在构造函数中进行递归调用,这根本没有意义


我的猜测是,也许你想按照

public Date( String m, int d, int y)
{
    this.Month = m;
    this.Day = d;
    this.Year = y;
}

根据错误消息判断,我认为调用
this()
,是导致问题的原因

public Date( String m, int d, int y)
{
this("m",d,y);
}
显然调用
这个(“m”,d,y)意味着你在构造函数中进行递归调用,这根本没有意义


我的猜测是,也许你想按照

public Date( String m, int d, int y)
{
    this.Month = m;
    this.Day = d;
    this.Year = y;
}

在构造函数内部调用它会使它无限递归。因此出现了这个错误。最好使用一些setter方法创建构造函数。阅读有关构造函数设计模式的内容,这应该会有所帮助。

在构造函数内部调用它会使它无限递归。因此出现了这个错误。最好使用一些setter方法创建构造函数。阅读有关构造函数设计模式的内容,这应该会有所帮助。

那么,我该如何修复它呢?Sam?@Behzat摆脱这一行。如果你详细说明你认为那条线应该是什么,我也许可以告诉你如何替换itso,如何修复它Sam?@Behzat摆脱那条线。如果你详细说明你认为这条线应该是什么,我也许可以告诉你如何替换它