在生成子类对象的时候是否也递归生成父类的对象,若是的话,是底层是怎么实现的?还有加载的问题:类在加载的时候先是生成一个class对象,生成的那个class对象是用来干嘛的?请哪位大侠指点一下谢谢!

解决方案 »

  1.   

    一定会的,当生成子类对象时,执行子类构造方法,同时调用父类无参的构造方法,构造父类,父类构造完毕后才构造子类。至于class,它是管理类的一个类,来管理类的属性、方法等等
      

  2.   

    楼上的说的挺对,纠正一点,不一定非得调用父类无参的构造函数,有时在子类的构造函数会加上super(....)来调用父类重载的构造函数!
    至于Class对象,它只生成一次,我们知道对象new出来的话只含有属性即变量,我觉得方法部分应该放在Class对象里吧
    仅供参考!
      

  3.   

    创建子类对象的时候,当然会先创建父类的对象阿.就好比如说生活当中,肯定是先有爸爸才有儿子阿.对吧?
    而且在子类的构造方法里面,如果父类有无参的构造方法,那么子类的构造方法会自动调用,如果父类没有无参的构造方法,那么子类就要显式调用父类的构造方法阿,而且super()必须在子类构造方法第⒈行.. 这就充分说明了是先创建父类对象再创建子类对象的
      

  4.   

    只会加载和初始化父类的Class,不会生成父类的对象。
    构造函数,也只是执行父类的构造函数的方法,没有生成对象。
    NetBeans 里面有一个分析工具,你可以自己做一个测试。