嗯哼哼哼, 2022-02-04 22:27 采纳率: 73.1%
浏览 31
已结题

java的静态方法的问题

img

img


为什么后面打印a的时候不会报错了

  • 写回答

4条回答 默认 最新

  • 发飙的恒星 2022-02-04 23:27
    关注

    首先要了解静态方法和非静态方法(实例方法)之间的不同,静态方法在整个程序刚开始运行就已经加载了,而非静态方法是当new了一个对象的时候才会被加载到,他比静态方法后执行。
    你的第一个例子a,b变量都是非静态变量,是无法在静态变量中使用的,因为静态方法加载时非静态变量还没有加载肯定无法使用。第二个例子静态变量可以在非静态方法中使用,结合上面说的静态变量或方法都优先于非静态方法或变量加载,当然等加载到非静态方法时静态变量已经初始化赋值完毕了。总得来说就是加载顺序的问题:静态方法或变量>非静态方法或变量

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

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 2月5日
  • 已采纳回答 2月5日
  • 创建了问题 2月4日

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度