| 静态方法只能访问静态成员?疑问 为什么静态方法只能访问静态成员,目前的回答主要是一下原因
 类的静态方法随类的加载而加载,也就是说类创建了,静态方法就
 存在在方法区了,可是可能这个时候还没有进行对象的初始化,既然
 没有对象初始化,那对象的成员变量,成员方法自然就不存在,静态方
 法就访问不了,。。。如果你实例化对象了,成员方法自然可以访问静
 态的,因为它早存在了。。。
 疑问如代码中所示:
 class Person1
 {
 String name = "zhangsan";
 static String cn = "china";
 public static void speak()
 {
 System.out.println("name="+name);
 }
 }
 class Person1Demo
 {
 public static void main(String[] args)
 {
 Person1 p1 = new Person1();
 p1.speak();
 }
 }
 以上建立了对象再用新建的对象调用静态方法来访问非静态
 成员为什么程序会报错?(此时对象的非静态成员已经初始化了啊)
 |