JavaSE--例题分享

  • 第一题:判断以下语句的输出结果(关于对象的调用)
    在这里插入图片描述
    静态变量有默认初始化
    题目分析
    类变量(静态变量)和类函数(静态函数)的执行顺序,因为类变量有初始值,所以我们要先给他赋值,因次我们就要先进行他的操作
    所以staic B b = new B();此时我们来在堆空间内生成对象
    对象调用变量是直接去堆内所属空间内找,如果没有则去静态里找
    解题思路
    第一步:先编译BTest.java文件,生成BTest.class和B.class文件
    第二步:然后将生成的class文件加载进方法区中
    第三步:当staic B b = new B();加载进方法区中时就需要在堆中创建对象,开空间分配地址,
    第四步:因为创建了对象,所以B的构造函数就需要进栈,因此在主函数进栈之前我们就已经生成了一个对象。
    第五步:此时主函数进栈,执行第一句话,创建对象–在堆中开空间分配地址
    第六步:然后构造函数进栈,
    操作图如下:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值