关于JAVA的一个小问题..谢谢

来源:百度知道 编辑:UC知道 时间:2024/05/21 20:44:19
public class Lin{
private int num;
public static void main(String [] args){
Lin ll=new Lin();
this.num=9;
System.out.println("num="+ll.num);
}
}
运行结果:
Lin.java:4: 无法从静态上下文中引用非静态 变量this
this.num=9;
为什么呀?this不是对当前的对象我引用吗?

一个原则:静态的永远不能使用实例的,只能使用静态的;实例的可以使用静态也可以使用实例的。(方法、变量均遵循这个原则)

this.num当然要出错了,这里不是在Lin类的里面,所以要在这里改变ll的Num,应该这么写:
ll.num=9;

不对拉,程序不是写了嘛,静态方法不能调用静态属性的,静态方法是不能调用本类的静态属性的,你要把num也声明成static 的就可以拉!