成员变量初始化在内存中是如何运行的机制?
- 内容介绍
- 文章标签
- 相关推荐
本文共计233个文字,预计阅读时间需要1分钟。
成员变量初始化内存中执行机制如下:
javaclass Person { public static int eyeNum; public String name;}
class demo { public static void main(String[] args) { Person p=new 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对象 */
本文共计233个文字,预计阅读时间需要1分钟。
成员变量初始化内存中执行机制如下:
javaclass Person { public static int eyeNum; public String name;}
class demo { public static void main(String[] args) { Person p=new 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对象 */

