zoukankan      html  css  js  c++  java
  • 思考与问题

    一、思索:为什么子类的构造方法运行之前,必须调用子类的构造方法?能不能反过开?为什么不能反过来?

    构造函数的主要作用:在对象编程语言中,一般在定义了一个类型之后,为了能使用它,必须把这个类型具体化,也就是指定为一个具体的对象。而构造函数就是从定义出发,建立与定义相对应的对象。用计算机语言来说,光有定义是不能使用,必须通过构造函数来分配内存空间给可使用的对象。

    继承父类, 就获得其成员变量,成员函数的使用。因此需要对这些成员变量做一些初始化工作。这个从逻辑上是应该如此的。父类初始化完成后,再接着初始化本身的成员变量。而编译器,为了防止你遗忘这个逻辑顺序。也许就添加了一个检查规则: 查看子类的构造函数中是否有父类的构造函数。

    二、参看ExplorationJDKSource.java示例,此示例中定义了一个类A,它没有任何成员:class A { }

    示例直接输出这个类所创建的对象

    public static void main(String[] args)    {

    System.out.println(new A());

    }

    得到的结果:A@1c5f743

    请按照以下步骤进行技术探险:

    使用javap c命令反汇编ExplorationJDKSource.class

     

    反编译截图如下:

     

  • 相关阅读:
    Luogu P1020 导弹拦截
    洛谷 p1196 带权并查集
    gradle 语法基础
    Codeforces Round #542 div.2 C
    我了解的字符编码
    洛谷p3374 树状数组1
    树状数组2
    线段树模板 求区间和, 区间加法,乘法更新
    洛谷 p1886 滑动窗口
    HDOJ.1251
  • 原文地址:https://www.cnblogs.com/huangliping/p/4950928.html
Copyright © 2011-2022 走看看