static成员的主调是类本身,所以,在一个类中,static成员不能去调用非staic成员,
而且static方法中不能使用this引用,因为static方法的主调永远是类本身不是this对象,this对象是实例的主调
public class Dog { public void info() { System.out.println("这是一个非static方法"); } public static void main(String[] args) { info(); #在一个static方法中调用非static方法,会报错! } }
上面这个是有错误的!
怎么在一个static方法中调用一个非static方法呢?
void
public class Dog { public void info() { System.out.println("这是一个非static方法"); } public static void main() { new Dog().info(); #通过重新创建一个对象来调用info方法 } }