LinZP101 2021-03-11 13:43 采纳率: 61.5%
浏览 145
已采纳

既然变量已经设置了static修饰为什么还要new

静态变量不是在类加载的时候就加载进内存了吗?为什么还要new,new了的还与之前的一样吗?

  • 写回答

4条回答 默认 最新

  • 三岁丫 2021-03-11 14:21
    关注

    你可能不太理解 static 关键字的作用。它是一个修饰符,如果有一个变量或者方法,你希望不通过 new 对象就可以直接调用的话,那么就可以修饰为 static。

    可以打个比方,你可以这么想 static 是标示所修饰的内容要放在一个类盒子里,而这个盒子是类加载的时候创建的,每个类都唯一。而如果不修饰 static 的话,是标示所修饰的内容是和对象放在一个对象盒子里的,在创建对象的时候才会创建这个盒子,同一个类可以有很多对象盒子

    所以如果不需要 new 就可以使用 static 修饰的内容(因为类加载完之后就已经放到盒子里了)。所以 static 和 new 的作用你要分清楚,这两个关键字的作用没有任何交集。

    注:例子只是方便理解,底层并不是这样。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图