"构造函数调用必须是构造函数中的第一个语句"

时间:2016-11-12 14:42:27

标签: java eclipse

所以我做了一个名为" voegUrenToe"这会为" uren"添加一个数字。变量,但是当我尝试制作另一个应该调用此方法的方法时,它会为我提供以下错误代码。

enter image description here

!!不是重复的,其他帖子没有回答我的问题。

2 个答案:

答案 0 :(得分:0)

在你的班级“Tijdstip”中你有一个非静态的void方法voegUrenToe(),你尝试调用构造函数。初始化对象后,再次调用构造函数是没有意义的。如果你想改变你的实例的值,你应该直接改变它,如“uren = 1;”(而不是再次调用构造函数)。

答案 1 :(得分:0)

错误是指代码的以下部分:

public void voegUrenToe(){
   this(1);
}

this()只能用于从另一个便利构造函数中调用构造函数。在这种情况下,它必须是便捷构造函数中的第一个语句。例如,这是正确的:

public Tijdstip(Tijdstip a){
   this(a.seconden);

   //other operations
}

您无法从方法中调用this(),因为此时实例已经构建完毕。