不能从静态上下文引用不同类的非静态方法

时间:2015-12-03 11:25:31

标签: java static-methods

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

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

我收到错误:

  

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

请建议。

3 个答案:

答案 0 :(得分:1)

仅当使用AttachmentsBean.showUploadDialog()修饰符声明showUploadDialog时,

static才适用。

答案 1 :(得分:1)

showUploadDialog()的签名应该是这样的

public static <return type> showUploadDialog() {
 //Do something
}

答案 2 :(得分:0)

只有当showUploadDialog声明为static时,才能使用AttachmentsBean.showUploadDialog():

public static ... showUploadDialog() {
  ...
}

如果需要调用非静态方法,首先需要创建AttachmentsBean对象,例如:

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