Java 16 static 注意事项

126 阅读1分钟

1 . 注意事项

  • 静态方法只能访问静态变量和静态方法。
  • 非静态方法可以访问静态变量或者静态方法,也可以访问非静态的成员变量和非静态的成员方法。
  • 静态方法中没有 this 关键字

0880.png

1 . 1 非静态方法:

0881.png

非静态方法中默认有 this ,所以非静态方法可以所有。

1 . 2 静态方法:

0882.png

静态方法中没有 this 关键字 ,所以只能访问静态变量 ,因为静态变量是共享的,如果访问非静态变量 ,如 name ,不能访问,因为不知道要访问哪个对象的 name。

2 . 从内存角度分析:

0883.png

  • 静态是随着类的加载而加载,而非静态是跟对象有关。
  • 所以会出现静态已经加载完成,而非静态还未被加载情况。

2 . 1 静态方法:

0884、.png

2 . 1 非静态方法:

0885.png