• 对构造方法的理解


    对象并不是通过构造方法构造的,只是通过构造方法来
    //以程序员自己的意愿进行赋值而已,真正创建对象的是通过new来创建对象的,
    //并且紧接着就会进行默认初始化与显式初始化,有继承父类的话,就是父类对象先被
    //创建出来,然后就初始化,再调用子类的构造方法,至于为什么父类对象实例化了后
    //没有直接掉父类的构造器,是因为new com.第一节.Drived();这里,只调用了子类的构造方法,其实
    //这里会被编译为两句话,一句是实例化对象,第二句是调用构造方法,所以需要通过
    //子类的构造方法来调用父类的构造方法
    //重点:其实jvm调用的构造方法是把类中的变量赋值操作与实例代码块合并成了一个称作<init>的构造方法
    //所以再执行构造方法的时候才会进行显式初始化,而默认初始化是在第一句分配内存时进行的

    // public Test();
    // 0 aload_0 [this]!注意,这里JVM调用的构造方法(也就是上文的<init>方法)第一句其实是把当前对象引用压栈
    //那么这就说明对象已经分配了内存并进行了默认初始化
    // 1 invokespecial java.lang.Object() [14]
    // 4 aload_0 [this]
    // 5 bipush 9
    // 7 putfield deam.Test.b : int [16]
    // 10 aload_0 [this]
  • 相关阅读:
    《3S新闻周刊》No.8:导航迈入井喷时代
    ESRI的Blog正式开始更新
    Google Earth中国部分数据重大更新
    说说EverNote
    选择ESRI的理由
    使用XAML和SharpMap渲染一幅地图
    《Excel与VBA程序设计》最新消息,预计9月上市
    基于Flash的全球卫星照片在线服务
    javascript运算符重载的实现
    uml各类图
  • 原文地址:https://www.cnblogs.com/lollong/p/10659854.html
Copyright © 2020-2023  润新知