我有一个类,在其中我有一些静态和一些非静态方法,所以当我尝试从静态方法访问非静态方法时,我得到了那个着名的错误。每当我在这个论坛上搜索时,我会在有两个课程的时候得到解决方案。我的问题是如果它们在同一个类中,如何从静态方法调用非静态方法?
我正在尝试
new ClassName().methodName();
但是我的方法包含发送Intent和finish(),所以如果我创建的其他对象比完成不起作用。
答案 0 :(得分:5)
要从静态方法调用non-static method
,您必须首先拥有包含非静态方法的instance of the class
。
非静态方法在类的实例上调用,而静态方法属于该类。
class Test
{
public static void main(String args[])
{
Test ot =new Test();
ot.getSum(5,10); // to call the non-static method
}
public void getSum(int x ,int y) // non-static method.
{
int a=x;
int b=y;
int c=a+b;
System.out.println("Sum is " + c);
}
}
希望这有帮助。