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

     

    反编译截图如下:

     

  • 相关阅读:
    JavaScript--微博发布效果
    JavaScript--模拟百度搜索下拉li
    JavaScript--for in循环访问属性用"."和[ ]的区别
    JavaScript--函数中()的作用
    JavaScript--时间日期格式化封装
    【网络】Vmware虚拟机下三种网络模式配置
    【IP】DHCP介绍
    【Shell】ps -ef 和ps aux
    【基础】Pipeline
    【时间】Unix时间戳
  • 原文地址:https://www.cnblogs.com/huangliping/p/4950928.html
Copyright © 2011-2022 走看看