本帖最后由 孙辉辉 于 2012-12-17 07:31 编辑
学到这一块的时候感觉有点晕晕的,然后找到一个比较详细的讲解,然后通过对比方老师的视频,
利用语句进行分析,方便理解
1.Person p=new Person("zhangsan",20);
该句话所做的事情:
1.在栈内存中,开辟main函数的空间,建立main函数的变量 p。
2.加载类文件:因为new要用到Person.class,所以要先从硬盘中找到Person.class类文件,并加载到内存中。
加载类文件时,除了非静态成员变量(对象的特有属性)不会被加载,其它的都会被加载。
记住:加载,是将类文件中的一行行内容存放到了内存当中,并不会执行任何语句。---->加载时期,即使有输出语句也不会执行。
静态成员变量(类变量)----->方法区的静态部分
静态方法 ----->方法区的静态部分
非静态方法(包括构造函数)----->方法区的非静态部分
静态代码块----->方法区的静态部分
构造代码块----->方法区的静态部分
|