Java字符串方法错误

时间:2013-04-24 21:11:00

标签: java class

我准备了Date和DateTest类,如下所示;

日期类

public Date( String m, int d, int y)
{
this("m",d,y);
}

DateTest Class

Date myDate2 = new Date("april",18 , 2013);
System.out.println(myDate2);

但我收到以下错误消息。任何人都可以告诉我问题是什么以及如何解决它。

错误消息 线程“main”中的异常java.lang.Error:未解决的编译问题:     递归构造函数调用Date(String,int,int)

at Date.<init>(Date.java:24)
at DateTest.main(DateTest.java:10)

2 个答案:

答案 0 :(得分:4)

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

public Date( String m, int d, int y)
{
this("m",d,y);
}

显然在你的构造函数中调用this("m",d,y);意味着你在构造函数中进行递归调用,这甚至没有意义。


我的猜测是,你可能希望按照

的方式做点什么
public Date( String m, int d, int y)
{
    this.Month = m;
    this.Day = d;
    this.Year = y;
}

答案 1 :(得分:1)

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