gpt4 book ai didi

java - 在java中调用方法时标识符预期错误

转载 作者:行者123 更新时间:2023-11-29 07:50:14 25 4
gpt4 key购买 nike

我有一段用 java 编写的相当简单的代码。这实际上来自一个名为 Kmax 的 DAQ 框架。

import kmax.ext.*; 

public class Runtime implements KmaxRuntime {
KmaxToolsheet tlsh; // Store a reference to the toolsheet environment
KmaxHist hist1D;
KmaxWidget checkBoxWidget;

public void init(KmaxToolsheet toolsheet) {
tlsh = toolsheet; // Save this reference for use in the toolsheet
hist1D = tlsh.getKmaxHist("HIST1D");
checkBoxWidget = tlsh.getKmaxWidget("CHECK_BOX_CALIB_METH");
tlsh.getKmaxWidget("CHECK_BOX_CALIB_METH").setProperty("VALUE", "1");

}

public void CalibInit(KmaxWidget widget, KmaxHist histo){
histo.setUseXAxisCalibration(stringToBool(widget.getProperty("VALUE")));
histo.update();

}
CalibInit(checkboxWidget,hist1D);

public void GO(KmaxToolsheet toolsheet){}
public void SRQ(KmaxDevice device) {}
public void HALT(KmaxToolsheet toolsheet) {}

} // End of the Runtime object

请注意,我已经创建了一个名为 CHECK_BOX_CALIB_METH 的对象。当我编译这段代码时,我得到了那些错误消息

compiler msg>error: invalid method declaration; return type required
compiler msg> CalibInit(checkboxWidget,hist1D);
compiler msg> ^

compiler msg>error: <identifier> expected
compiler msg>CalibInit(checkboxWidget,hist1D);
compiler msg> ^


compiler msg>error: <identifier> expected
compiler msg>CalibInit(checkboxWidget,hist1D);
compiler msg> ^

请注意,如果我删除 CalibInit 方法并将其替换为

public void CHECK_BOX_CALIB_METH(KmaxWidget widget) {

hist1D.setUseXAxisCalibration(stringToBool(widget.getProperty("VALUE")));
hist1D.update();

}

我没有得到编译错误。关键是方法的名称与对象的名称相同。我创建 CalibInit() 的原因是为了避免为同一类型的每个对象使用相同功能的每个方法。有解决办法吗?

如何避免这些错误?

最佳答案

只有变量可以在方法之外声明。您只能在方法和构造函数中调用方法(此处避免静态上下文)。

  CalibInit(checkboxWidget,hist1D);

如果需要,请将该行移动到任何方法或构造函数。更具体地调用你需要它的地方。

简而言之: CalibInit(checkboxWidget,hist1D); 现在是孤立的。让它属于某物。

关于java - 在java中调用方法时标识符预期错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21753874/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com