Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么静态方法不能引用实例方法?_Java_Class_Object_Instance_Static Methods - Fatal编程技术网

Java 为什么静态方法不能引用实例方法?

Java 为什么静态方法不能引用实例方法?,java,class,object,instance,static-methods,Java,Class,Object,Instance,Static Methods,为什么一个特定类的静态方法不能引用同一个classobject实例和另一个classobject实例 我在教科书中读到了这篇文章。因为静态可以在没有任何类实例的情况下使用。例如,当您使用Integer.parseInt…,您使用Integer类的名称调用它时,您从未创建过实例 System.out.println(Integer.parseInt("123")); // Called with the name of the class 那么,如果您可以在该静态方法中引用一个实例呢?如果用户使

为什么一个特定类的静态方法不能引用同一个classobject实例和另一个classobject实例

我在教科书中读到了这篇文章。

因为静态可以在没有任何类实例的情况下使用。例如,当您使用Integer.parseInt…,您使用Integer类的名称调用它时,您从未创建过实例

System.out.println(Integer.parseInt("123")); // Called with the name of the class
那么,如果您可以在该静态方法中引用一个实例呢?如果用户使用类的名称调用它,而不创建任何实例,则该方法将没有任何实例可引用

请注意,您也可以使用实例调用静态方法,但推荐的方法是使用类的名称调用它,以强调它是一个静态方法:

与任何实例都不关联的将引用哪个实例


回答:无/无法确定;没有任何意义,因为可以有0..n个实例。

只有在创建特定类的对象时才能访问实例方法。只有在创建特定类的实例时,静态方法才能访问实例方法。

因为静态方法不绑定到对象实例。Java如何知道要使用什么对象?静态方法可以在不创建任何实例的情况下调用。静态方法可以在不实例化该类的对象的情况下调用。如果将的对象实例传递给静态方法,则它们可以引用实例方法。
Integer i = 0;
System.out.println(i.parseInt("123")); // Can also be called with an instance, but not recommended