First you put 5 to static variable x: x = 5;
Then you create yet another x valid in inner scope. Its value is 2 and you send it to constructor of Arcane that calculates y
as x+1
(local x), i.e. 2+1=3
.
At this point
static x = 5;
y = 3;
Now you call increment that calculates new value of y
as y+=x
, that is exactly as y = y + x
,. i.e. 3+5=8
.
Then you print y that holds 8.
I hope this helps.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…