见标题二的图片
静态变量和静态方法随类的加载而加载,若此时未创建类的对象则内存中并没有非静态变量,所以静态方法访问非静态变量会出错。而普通的成员方法需要通过对象调用,此时堆内存中存放了非静态变量,可以直接访问非静态变量。