java吧 关注:1,294,304贴子:12,826,811

回复:java 继承题。看输出什么。。不要运行

只看楼主收藏回复

我也觉得是BUG.
连子类的实例都还没有创建完就开始先调用了子类的方法.这似乎有点不可思议.
不知道他是通过什么来调用子类的方法的,难道是特殊的上溯造型吗?


删除|16楼2008-06-20 21:48
回复
    不是BUG,大家可能对变量初始化这个概念不太清楚

    JVM首先分配了类变量的内存并初始化为默认值(int是0)
    然后才开始执行代码
    具体见JLS 12(还是9,不太记得了)章 执行


    17楼2008-06-21 10:17
    回复
      2026-01-12 04:16:05
      广告
      不感兴趣
      开通SVIP免广告
      • 218.75.178.*
      但是为什么它会在父类的构造器调用了子类的同名方法呢?
      要知道这个时候子类的实例还没有被创建呀


      18楼2008-06-21 12:01
      回复
        实例只是一堆数据而已(比如类变量)创建实例时分配内存空间,class(包括它的描述、方法等等)则在此之前就应该被载入到JVM里面,所以没有矛


        19楼2008-06-21 12:11
        回复