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。

09-04 06:10