m0_65720605 2022-06-07 07:10 采纳率: 87.5%
浏览 20
已结题

为什么只调用静态构造函数一次,却调用了非静态构造函数两次

这道题目输出来的结果,我不是特别理解,为什么只输出静态构造函数一次

img

  • 写回答

1条回答 默认 最新

  • 於黾 2022-06-07 07:20
    关注

    new了2个实例,构造函数当然就走两次,每个实例走一次
    而静态构造函数只会走一次
    你是不是不知道什么叫静态构造函数

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    m0_65720605 2022-06-07 07:25

    好的谢谢,我确实还处于初学阶段

    回复
    於黾 回复 m0_65720605 2022-06-07 07:30

    所谓构造函数,就是当类在实例化的时候,需要对类中的变量进行一些初始化操作而应运而生的一种函数,它会在你执行new语句的时候执行。而静态构造函数,有点类似静态变量,它只会执行一次,是在你第一次访问这个类对象的时候执行(任何类对象,不一定是new操作,也可能是获取或写入一个静态字段时)

    回复
    於黾 回复 m0_65720605 2022-06-07 07:32

    如果你这个类里还有一些静态方法,那么在类外部执行这些静态方法,也会触发静态构造函数执行。总之就是你访问类,类的静态构造函数就会执行。

    回复
    展开全部4条评论
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 9月22日
  • 已采纳回答 9月15日
  • 创建了问题 6月7日