我正在编写一个程序,为了方便起见,我想在if / if else中调用一个函数。 我不断收到消息"非静态方法select1()不能从静态上下文引用"。
代码示例:如果是,则导致方法:
option = input.nextInt();
if (option == 1){select1();}
if (option == 2) {System.out.println("boo");}
if (option == 3) {System.out.println("hehe");}
else {System.out.println("blahh");}
}
}
static void main select1();{
System.out.println("");};
我在编程方面比较新,所以任何帮助都会很棒!
答案 0 :(得分:0)
这是非法的:
public class MyClass {
public void doSomething() {
//...
}
public static void doSomethingStatically() {
doSomething();
}
}
因为doSomething()
是非静态的,因此必须绑定到特定实例。
使用以下任一方法修复:
public class MyClass {
public static void doSomething() {
//...
}
public static void doSomethingStatically() {
doSomething();
}
}
或者这个:
public class MyClass {
public void doSomething() {
//...
}
public static void doSomethingStatically() {
(new MyClass()).doSomething();
}
}