我在书上看到一个实例,输出结果不太理解,求大家帮解释一下

来源:7-6 Java 中的成员内部类

Ocelot

2019-08-19 20:13

源码:

http://img2.mukewang.com/5d5a925d0001c33707780521.jpg

http://img3.mukewang.com/5d5a92640001d7ab08160304.jpg

写回答 关注

4回答

  • Verckolf
    2019-10-30 17:07:43

    1、执行t1.i++后,虽然打印的是60,但是此时静态变量i=61

    2、调用t1.call()在for循环中将i初始化为0,并在i=3时跳出循环,此时静态变量i=3,因此打印的t2.i=3

  • Ocelot
    2019-08-20 18:05:11

    这个我理解,为什么t1.i++执行后i值变为3

    慕粉4284...

    当i=3的时候,i<3不再满足,所以退出循环。但此时程序中i的值是3

    2019-09-09 14:23:33

    共 1 条回复 >

  • 慕粉3347856
    2019-08-20 15:30:23

    重点是因为i是静态成员变量被所有对象所共享,第一次调用call()方法后,经过里面的for循环 i变为3 跳出循环,所以结果为3

  • Ocelot
    2019-08-19 20:20:00

    提问者补充:就是第二个实例对象调用变量i的结果为什么是3,求

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530652 学习 · 6091 问题

查看课程

相似问题