【问题标题】:Java string method errorJava字符串方法错误
【发布时间】:2013-04-24 21:11:00
【问题描述】:

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

日期类

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.Error 中的异常:未解决的编译问题: 递归构造函数调用 Date(String, int, int)

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

【问题讨论】:

    标签: java class


    【解决方案1】:

    从错误消息来看,我会说调用 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;
    }
    

    【讨论】:

    • 那么,Sam 我该如何解决?
    • @Behzat 摆脱那条线。如果您详细说明您认为该行应该做什么,我也许可以告诉您如何替换它
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-14
      • 2013-04-13
      • 2018-11-26
      • 1970-01-01
      • 2013-04-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-23
      相关资源
      最近更新 更多