File tree Expand file tree Collapse file tree 1 file changed +30
-2
lines changed
Expand file tree Collapse file tree 1 file changed +30
-2
lines changed Original file line number Diff line number Diff line change @@ -741,9 +741,37 @@ public void f5(int a) {
741741
742742### 静态方法和实例方法有何不同?
743743
744- 1 . 在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式。而实例方法只有后面这种方式。也就是说, ** 调用静态方法可以无需创建对象。 **
744+ ** 1、调用方式 **
745745
746- 2 . 静态方法在访问本类的成员时,只允许访问静态成员(即静态成员变量和静态方法),而不允许访问实例成员变量和实例方法;实例方法则无此限制。
746+ 在外部调用静态方法时,可以使用 ` 类名.方法名 ` 的方式,也可以使用 ` 对象.方法名 ` 的方式,而实例方法只有后面这种方式。也就是说,** 调用静态方法可以无需创建对象** 。
747+
748+ 不过,需要注意的是一般不建议使用 ` 对象.方法名 ` 的方式来调用静态方法。这种方式非常容易造成混淆,静态方法不属于类的某个对象而是属于这个类。
749+
750+ 因此,一般建议使用 ` 类名.方法名 ` 的方式来调用静态方法。
751+
752+ ``` java
753+
754+ public class Person {
755+ public void method () {
756+ // ......
757+ }
758+
759+ public static void staicMethod (){
760+ // ......
761+ }
762+ public static void main (String [] args ) {
763+ Person person = new Person ();
764+ // 调用实例方法
765+ person. method();
766+ // 调用静态方法
767+ Person . staicMethod()
768+ }
769+ }
770+ ```
771+
772+ ** 2、访问类成员是否存在限制**
773+
774+ 静态方法在访问本类的成员时,只允许访问静态成员(即静态成员变量和静态方法),不允许访问实例成员(即实例成员变量和实例方法),而实例方法不存在这个限制。
747775
748776### 为什么 Java 中只有值传递?
749777
You can’t perform that action at this time.
0 commit comments