Java 不能从静态上下文引用其他类的非静态方法

Java 不能从静态上下文引用其他类的非静态方法,java,static-methods,Java,Static Methods,我有一个名为AttachmentsBean的类,它有一个名为showUploadDialog()的方法。在另一个名为UploadBean的类中,当我执行以下代码时: if(count=0) { return AttachmentsBean.showUploadDialog(); } 我得到一个错误: “无法从静态上下文引用非静态方法” 请建议。AttachmentsBean.showUploadDialog()仅在使用static修饰符声明showUploadDialog时才适用。

我有一个名为
AttachmentsBean
的类,它有一个名为
showUploadDialog()
的方法。在另一个名为
UploadBean
的类中,当我执行以下代码时:

if(count=0)
{
   return AttachmentsBean.showUploadDialog();
}   
我得到一个错误:

“无法从静态上下文引用非静态方法”


请建议。

AttachmentsBean.showUploadDialog()
仅在使用
static
修饰符声明
showUploadDialog
时才适用。

showUploadDialog()的签名应如下所示

public static <return type> showUploadDialog() {
 //Do something
}
publicstaticshowuploaddialog(){
//做点什么
}

只有在showUploadDialog声明为静态时,才能使用AttachmentsBean.showUploadDialog():

public static ... showUploadDialog() {
  ...
}
如果不需要调用静态方法,则首先需要创建AttachmentsBean对象,例如:

if(count=0)
{
   return new AttachmentsBean().showUploadDialog();
}