成员变量初始化内存中运行机制 class Person{ public static int eyeNum; public String name;}class demo{ public static void main(String[] agrs){ Person p=new Person(); }}/**1.当第一次创建第一个person对象的时候:
class Person{ public static int eyeNum; public String name; } class demo{ public static void main(String[] agrs){ Person p=new Person(); } } /* *1.当第一次创建第一个person对象的时候: *类加载机制会为这个类本身的类变量(eyeNum)在堆内存里开辟空间存放 *2.类加载完之后,通过关键字new创建返回一个可以被外部程序访问的person对象,并分配了类对象的成员变量的内存空间 *在堆内存里面(eyeNum是属于类本身的成员,而name是属于某个实例对象的成员变量) *3.这里用的p接受new返回的person对象,外部程序通过p就可以访问这个实例类对象 */ /* 当之后在创建person对象的时候就不会再执行第一步的类加载机制 而且在程序中对某个实例类对象person的成员变量name进行了修改或操作,不影响之后创建的对象, 但是eyeNum这个类本身的属性若是在某个程序中被更改后,会影响接下来创建的person对象 */