关于static的问题
public class Static{public static String str="kiki";
public void print(){
System.out.print(str);
}
public static void main(String[] args) {
//Static st1=new Static();
//Static st2=new Static();
Static.str="jason";
Static st2=new Static();
st2.print();
}
}
输出结果为什么是jason??
当Static st2=new Static();
st2.str应该为KIKI啊,那打印出来应该是KIKI啊?
为什么????
搜索更多相关的解决方案:
static
----------------解决方案--------------------------------------------------------
static是所有成员共享的
你在生成对象这前就已经把它赋值成jason了,当然打印出jason了
----------------解决方案--------------------------------------------------------
顶...
----------------解决方案--------------------------------------------------------
----------------解决方案--------------------------------------------------------
因为你在main函数中给他又复了新值。
----------------解决方案--------------------------------------------------------