如何从同一个 class 中的 main() 调用方法?
How to call a method from the main() that is in the same class?
我有以下情况
我有一个 Main class,我在其中声明了标准 public static void main(String[] args)方法
进入这个 main() 方法的主体我试图调用以下 printPdf() 声明到 主要 class:
private void printPdf() {
/** The resulting PDF file: */
String result = "D:/SOFTLAB/massive_pdf_print.pdf";
// STEP 1 Creazione del documento in formato A4 e senza margini:
com.itextpdf.text.Document document = new com.itextpdf.text.Document(com.itextpdf.text.PageSize.A4, 0, 0, 0, 0);
try {
/* STEP 2 Constructs a PdfWriter.
document: The PdfDocument that has to be written.
os: The OutputStream the writer has to write to
*/
PdfWriter.getInstance(document, new FileOutputStream(result));
// STEP 3:
document.open();
// STEP 4:
document.add(new Paragraph("Hello World!"));
// STEP 5:
document.close();
}catch (DocumentException ex){
ex.printStackTrace();
}
catch (IOException ex){
ex.printStackTrace();
}
}
我这样称呼它:
this.printPdf();
但我收到以下错误消息:'mainPkg.Main.this' cannot be referenced from a static context
所以我认为它的发生是因为 main() 方法是一个静态方法但是我怎样才能正确调用我的 printPdf() 方法(在包含 main() 的 Main class 中声明) ?
Tnx
将方法 printPdf()
声明为 static
,或实例化 class Main 的新对象,然后从中调用它。
我有以下情况
我有一个 Main class,我在其中声明了标准 public static void main(String[] args)方法
进入这个 main() 方法的主体我试图调用以下 printPdf() 声明到 主要 class:
private void printPdf() {
/** The resulting PDF file: */
String result = "D:/SOFTLAB/massive_pdf_print.pdf";
// STEP 1 Creazione del documento in formato A4 e senza margini:
com.itextpdf.text.Document document = new com.itextpdf.text.Document(com.itextpdf.text.PageSize.A4, 0, 0, 0, 0);
try {
/* STEP 2 Constructs a PdfWriter.
document: The PdfDocument that has to be written.
os: The OutputStream the writer has to write to
*/
PdfWriter.getInstance(document, new FileOutputStream(result));
// STEP 3:
document.open();
// STEP 4:
document.add(new Paragraph("Hello World!"));
// STEP 5:
document.close();
}catch (DocumentException ex){
ex.printStackTrace();
}
catch (IOException ex){
ex.printStackTrace();
}
}
我这样称呼它:
this.printPdf();
但我收到以下错误消息:'mainPkg.Main.this' cannot be referenced from a static context
所以我认为它的发生是因为 main() 方法是一个静态方法但是我怎样才能正确调用我的 printPdf() 方法(在包含 main() 的 Main class 中声明) ?
Tnx
将方法 printPdf()
声明为 static
,或实例化 class Main 的新对象,然后从中调用它。