为什么我的方法应该是静态的?

时间:2015-07-25 00:57:05

标签: java methods static main

嗨,我有这段代码,我真的很困惑为什么我必须使lel方法静态。错误是这个"非静态方法不能从静态内容引用"。通常当我创建方法来构造新对象或操作main方法中的对象时,我没有得到这个错误消息.Plus,我从来没有声明e是静态的!有人可以向我解释为什么会发生这种情况?谢谢:))

class x {

    public static void main(String[]args){

        int e= 2232;

        e= lel(e);

    }

    int lel(int k){
        return k+1;
    }
}

1 个答案:

答案 0 :(得分:0)

您可以实施两种解决方案。第一个选项是让您的int lel(int k)成为一个看起来像static int lel(int k)

的静态方法

您的另一个选择是声明类x的新对象,并将其用于主要的lel方法,如评论中建议的MickMnemonic。该代码看起来像:

  

e = new x()。lel(e);

我认为最简单的方法是将lel方法设为静态,但这取决于你。

可以找到对静态方法的更深入解释here.