Java 如何从同一类中的main()调用方法?
我有以下情况 我有一个Main类,我在其中声明了标准的公共静态voidmain(String[]args)方法 在这个main()方法的主体中,我试图调用以下printPdf()声明到main类中:Java 如何从同一类中的main()调用方法?,java,jakarta-ee,main,Java,Jakarta Ee,Main,我有以下情况 我有一个Main类,我在其中声明了标准的公共静态voidmain(String[]args)方法 在这个main()方法的主体中,我试图调用以下printPdf()声明到main类中: private void printPdf() { /** The resulting PDF file: */ String result = "D:/SOFTLAB/massive_pdf_print.pdf"; // STEP 1 Creazione del doc
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'不能从静态上下文引用
因此,我认为之所以会发生这种情况,是因为main()方法是一个静态方法,但我如何才能正确调用我的printPdf()方法(该方法在包含main()的同一main类中声明)
Tnx将方法
printPdf()
声明为static
,或者实例化一个新的Main类对象,然后从中调用它。printPdf()
不是静态方法。它必须是你是否想从另一个静态方法调用它,比如main
@bigdestropher:不,它不是-OP可以创建包含类的实例。说从静态方法中只能调用其他静态方法太简单了。实际上,您将创建一个新的Main
实例,而不是一个新的类Main
。但是,yes.yep,实例化一个新的类对象=创建这个类的一个新实例否,你的意思是实例化一个新的对象/类实例。但这只是吹毛求疵是的,但你是对的,如果我想成为一名称职的助手,名字很重要,已经纠正了