public class AplotPdfPrintLocal extends ApplicationWindow {
private String userSelectedFile;
public AplotPdfPrintLocal(String pdfFilePath) {
super(null);
this.userSelectedFile = pdfFilePath;
}
public void run() {
setBlockOnOpen(true);
open();
Display.getCurrent().dispose();
}
etc........
我想从B类执行上述类
方法是B级-低于
public void startPDFPrint() throws Exception {
AplotPdfPrintLocal pdfPrint = new AplotPdfPrintLocal(getPDFFileName()).run();
}
我收到一个错误,我需要将运行的返回类型从void更改为plotPdfPrintLocal
我要说错课吗?
最佳答案
更改为:
public void startPDFPrint() throws Exception {
AplotPdfPrintLocal pdfPrint = new AplotPdfPrintLocal(getPDFFileName());
pdfPrint.run();
}
要么
public void startPDFPrint() throws Exception {
new AplotPdfPrintLocal(getPDFFileName()).run();
}
编译器的意思是,您正在尝试将run方法(无效)的结果分配给表达式的左成员AplotPdfPrintLocal pdfPrint变量。
因此,由于运行是“返回” void的事实,所以会出现错误,即预期的AplotPdfPrintLocal类型(在左侧声明)与实际的返回类型之间存在差异:void。