java - 我们可以从空引用访问静态成员吗?如果是,为什么允许这样做?
问题描述
我们可以从 Java 中的空引用访问静态成员吗?如果是,为什么允许这样做?它在内部是如何工作的?
解决方案
是的; “Java 允许通过空引用访问静态字段”。
原因:
在 Java 中,不需要对象实例来解析静态字段。对静态字段的访问由 getstatic 指令处理,它不需要对象实例。它使用运行时常量池来解析字段。
参考:
https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-6.html#jvms-6.5.getstatic
https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-5.html
推荐阅读
- java - 如何使用 MultipartFile 读取任何格式的文件?
- javascript - 如何在 JS 中感知用户输入中的特定字母
- java - 数据截断:不正确的双精度值:第 1 行的列 'controlfares'.'ventas'.'Precio' 的 'Rifle de agua'
- docker - 通过 Jenkins 管道在 Openshift 上部署微服务(spring boot 应用程序)
- raspberry-pi - 如何让 Raspbian 将 ADC 的 SPI 输入识别为声卡
- reactjs - 使用@fluentui/react 时的钩子问题
- javascript - 为什么 html 脚本没有从我的 code.gs 文件中获取列表
- excel - 如何在excel中添加0.12.5和0.4.18
- html - 如何使纯 CSS 视差代码适用于复杂网站?
- flutter - 向flutter-markdown添加其他标签?