关于Eclipse:Java和MIN()

Java and main()

我大约在一年内第一次用Eclipse(一般是Java)来解决问题。我忘记的事情包括:

我有一个函数(void callvote(),我希望它能被我的主函数激活(也就是说,自动地,在程序的早期)。我现在把它和主函数本身放在同一类(主体)中。我尝试用callvote();调用它并得到一个错误,"-不能从类型体静态引用非静态方法callVote()"现在,我的函数callvote在main下面的空白处,它简单地说

public void callvote()
{
}
我把更多的函数放在同一个类中,是不是犯了一个可怕的罪?这是一个相对容易的解决方法,我错过了什么?这个错误是什么意思?我用这个密码叫醒阿扎托斯吗?提前感谢,托姆斯


main()是一个静态方法,这意味着您可以直接从类调用它,而非静态成员只能从对象调用。要调用callVote()方法,首先需要实例化类的对象:

1
2
3
4
public static void main(String [ ] args) {
    MyClass myObject = new MyClass();
    myObject.callvote();
}

另一种避免错误的方法是使callVote()方法也是静态的,但这通常不是您想要做的(但这取决于类和方法的性质)。

本文描述了过度使用静态方法的一些危险:使用单个方法的类——最佳方法?


如果没有EDCOX1,1修改器EDCOX1,2,则隐含地是一个实例方法——你需要一个类的实例来调用它。

您也可以将其标记为静态:

1
public static void callvote() ...

或者创建声明类的实例:

1
2
MyClass instance = new MyClass();
instance.callvote();


试试这个:

1
2
3
4
5
public class Main {
    public static void main(String[] args) {
        new Main().callvote()      
    }  
}

你的Java程序的EDOCX1×0入口点是静态的。不能从静态方法调用非静态方法。

因此,您必须先初始化类,然后调用该方法。