前言
编程时我们会发现有时main方法中调用自身所在的类的其他方法时,发现无法调用,错误调用情况如下
错误情况代码
此处第3行调用test方法报错
public class Demo1{
public static void main(String[] args){
test();
}
public void test(){
}
}
解决办法
目前我已知两种解决办法
①
创建一个Demo1的实例,然后通过该实例调用方法test。
public class Demo1{
public static void main(String[] args){
Demo1 d1 = new Demo1();
d1.test();
}
public void test(){
}
}
②
将test方法声明为静态,就是在void前面添加static。
原因是main方法已经声明为静态,静态方法只能调用静态方法,而静态的方法无法调用非静态方法,而非静态方法可以调用静态方法。
public class Demo1{
public static void main(String[] args){
test();
}
public static void test(){
}
}