zyj0021
发贴: 9
积分: 0
|
于 2007-10-21 20:17
例如代码: public class Parent { static int i=1; public static void func() { //dosomething } public static void main(String[] args) { Parent P1; Parent p2=new Parent(); Child c1=new Child(); //... } } class Child extends Parent { } 问题: 1.对于上面代码中的static相关内容、main方法、p2、c1的生成顺序是怎么样的?带static相关的内容,是不是最先生成,分配的内存是在桟还是堆?如上面的静态变量,静态函数,是不是和main一起生成的?上面static工作做完了,才开始构造类的对象,是不是先默认构造父类,再默认构造子类,再显式构造类对象? 2.Parent p1这个做了什么工作?在内存中有分配吗?还是编译的时候有什么特别的?这个时候的p1是什么样的状态,null 吗??还是什么都没做,只是在编译的时候做一些工作?象Parent p2=new Parent()这个,生成了引用变量(桟),和一个对象(堆),请问那个先生成,还是一起生成?
|