问答详情
源自:7-6 Java 中的成员内部类

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

源码:

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

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

提问者:Ocelot 2019-08-19 20:13

个回答

  • 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

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

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

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

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