想请教一下下面这一段代码里面的【代码②】是怎么看的呢,为什么结果是120啊?
b.getM() 调用b里面的方法; m+100; 得到120(20+100)
注释里面已经解释了原因,调用的是子类重写的方法,也就是用的是B的方法。此时b中m的值是20,而不是-100,因为a、b中虽然都叫m,但这两个m不是同一个,b把a的m给隐藏了。(其实你把其中一个改成别的名字就能看区别来)