Java 为什么静态方法不能引用实例方法?
为什么一个特定类的静态方法不能引用同一个classobject实例和另一个classobject实例 我在教科书中读到了这篇文章。因为静态可以在没有任何类实例的情况下使用。例如,当您使用Integer.parseInt…,您使用Integer类的名称调用它时,您从未创建过实例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 那么,如果您可以在该静态方法中引用一个实例呢?如果用户使
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