class Test{
public void t(){
System.out.println("For test");
}
public static void main(String [] args){
t();
}
}
这个时候,编译器就会提示“无法从静态上下文中引用非静态”。
静态的方法可以在没有创建实例时使用,而申明为非静态的成员变量是一个对象属性,它只有在对象存在时引用,因此如果在对象未创建实例时在静态方法中调用了非静态成员方法自然是非法的,所以编译器会在这种时候出错.
若要对这个进行修改,关键是让方法t()在某个实例中被调用。修改:
class Test{ public void t(){ System.out.println("For test"); } public static void main(String [] args){ Test test = new Test(); test. t(); } }