我们可以从以下两点来进行分析:
(1) 非静态方法参数传递时,有一个隐式参数this,这个this就是调用该方法的对象本身。
比如, Object o=new Object(); o.toString(); //实际上是有参数传递的toString(Object this),且o==this 这样在非静态方法中就可以通过this来得到调用对象的其他域和方法,私有域的也行。
(2) 静态方法是属于类的,而并不属于某个对象。所以没有隐式参数this,自然也就不能通过this调用对象本身了。 但这并不意味这不能调用非静态域。我们可以通过显示参数传递来做到这一点: