当前位置: 首页 > 知识库问答 >
问题:

不能用静态的方法参考非静态的方法吗?[副本]

柯学
2023-03-14

所以,简而言之。我有两节课。

package rpg;

public class Engine {
    public void main(String args[]) {
        Start.gameStart();
        System.out.println(menuResult);
    }
}
package rpg;
public class Start {
    int menuResult = 3;
    public int gameStart() 
    {
        return menuResult;
    }
    public int getMenuResult()
    {
        return Start.menuResult;
    }
}

它不断地抛出错误“不能对非静态方法gameStart()进行静态引用”。我肯定我错过了一些简单的东西,但找不到了。谢了!

共有1个答案

曾昂然
2023-03-14

您需要创建start类的实例,并在该实例上调用gamestart()方法,因为gamestart()是实例方法,而不是静态方法。

 public void main(String args[]) {
       new Start().gameStart();
       ..................
  }

只能通过使用类名作为缀字访问静态方法。

 类似资料:
  • 我最近对 PHP 5.4 进行了更新,但收到有关静态和非静态代码的错误。 这是错误: 这是第371行: 我希望有人能帮忙。

  • 问题内容: 到目前为止,我有以下代码: } 当我尝试在末尾设置double 时,出现错误消息“无法对非静态方法进行静态引用”。它说解决方法是也使该方法静态化,但是我的教授告诉我不要将该字段静态化。有一个简单的解决方案我只是想念吗? 问题答案: 静态方法属于该类,非静态方法属于该类的 实例 。 当您从呼叫时,您会收到错误消息,因为它与任何实例都没有关联。 您需要创建该类的实例: 然后,您可以调用实例

  • 问题内容: 尝试在静态类中调用非静态方法时遇到错误。 无法从类型播放中静态引用非静态方法methodName() 我不能使该方法静态,因为这也给我一个错误。 此静态方法无法从xInterface隐藏实例方法 有什么办法可以在另一个静态方法中轮回调用非静态方法?(这两种方法位于单独的包和单独的类中)。 问题答案: 从静态方法中调用非静态方法的唯一方法是使类的实例包含非静态方法。根据定义,非静态方法是

  • 我正在使用存储库模式并尝试建立模型之间的关系。当我尝试运行存储()方法(在控制器中),该方法试图使用用户()方法(与方模型建立关系)时,我收到以下错误消息: 非静态方法不应该静态调用::user(),假设$this来自不兼容的上下文 我不明白为什么在尝试运行user()relationship方法时会出现此错误,但所有其他方法(包括$this- 以下是相关代码:

  • 我对Java和编程是非常非常新的。我写这个是为了一个basic程序来添加用户输入的2个数字,然后将它们相加并显示在输出框中,但是我得到了,但是我不知道静态的东西是什么 给出错误的行: 抱歉,如果我是非常无能,但我搜索,我不知道如何解决它。多谢了。

  • 我一直试图用我的验证代码进行php pear验证,但我收到的都是严格标准错误--问题是什么?我如何修复它? 电子邮件验证.php