静态方法与非静态方法

时间:2021-08-01 19:28:33

JAVA中类的方法池中都有一个隐含的参数this,他表示本对象的引用
但是static方法是没有这个隐含参数的,因为static方法和类的实例无关它只在类装载的时候初始化

  1. 静态方法
    静态方法是属于类的,而并不属于某个对象。所以没有隐式参数this,自然也就不能通过this调用对象本身了。
    但这并不意味这不能调用非静态域。我们可以通过显示参数传递来做到这一点:

  2. 非静态方法
    非静态方法参数传递时,有一个隐式参数this,这个this就是调用该方法的对象本身。 这样在非静态方法中就可以通过this来得到调用对象的其他域和方法,私有域的也行。