Java新实例Falsy声明空构造函数

时间:2018-06-08 03:40:37

标签: java constructor instance

我一直遇到这个问题,我似乎找不到解决方案,甚至找不到解决这个问题的方法。这是我遇到问题的代码:

  Button b1 = new Button(450, 200, "default_button", 500, 60, "BONES", 60) {public void leftClick (){
setCurrentHandler(handlerBone);
}}; //This code shows no errors


b1 = new Button(450, 200, "default_button", 500, 60, "BONES", 60) {public void leftClick() {
setCurrentHandler(handlerBone);
}}; //This code shows the error

handlerMuscle.addClickObject(new Button(10, 10, "button_x", 60, 60) {public void leftClick() {
setCurrentHandler(handlerMenu);
}}); //This is the code I want to use but shows an error

你可以看到我的问题的根源。第一个语句没有错误,但第二个语句没有错误,第三个语句是我原来的代码,它在某一点上工作,并且(看似)没有理由停止工作。

当鼠标悬停在红色下划线上时,弹出框显示“构造函数Button()未定义”,并建议添加值以匹配构造函数。单击此按钮时,它会添加冗余参数,例如

b1 = new Button(t, t, name, t, t450, 200, "default_button", 500, 60, "BONES", 60) //etc. 

之前这个代码工作过,我在另一个程序中尝试过类似的代码只是为了确保我没有疯狂,而且它工作正常。任何有关此问题的帮助将不胜感激。

1 个答案:

答案 0 :(得分:-1)

很抱歉回答我自己的问题,我觉得自己像个白痴。希望有人能从这篇文章中受益。基本上问题与构造函数无关。

基本上我的代码的问题是你不能用}}}结束我的代码块;但你必须把它分成两行,

}} );

我不确定为什么这种格式化问题会导致Java出现问题(因为格式化的这种变化似乎不会改变编译器对代码的解释),所以如果有人对有答案那个问题,请告诉我。