为什么会报这个错嘞
静态的方法可以在没有创建实例时使用,而申明为非静态的成员变量是一个对象属性,它只有在对象存在时引用,因此如果在对象未创建实例时我们在静态方法中调用了非静态成员方法自然是非法的,所以编译器会在这种时候给出错误.
是因为对象引用错误
举个例子
//这是主类
public class MyApplication2 {
public static void main(String[] args) {
People p1 = new People(0.0, 0.0);//我在类People里创建了一个新的对象
p.speakHello();//这里是我调用speakHello,是在对象p1下的,如果你一个手误写错了,他就会报错啦,仔细一点总没问题的
}
class People{
double weight;
double height;
public People(double weight, double height) {
this.weight=weight;
this.height=height;
}
void speakHello(){
System.out.println("我是人");
}
这个东西我已经错了好几次了,人太马虎了