Java 使用null对象访问静态方法
尽管从空对象Java 使用null对象访问静态方法,java,oop,Java,Oop,尽管从空对象rt访问方法dir,但下面的代码编译时没有任何错误,而我希望得到nullpointerexception为什么? 当我删除dir方法的static关键字时,我得到了空指针异常,那么静态方法是否有异常 public class root{ private root() {} final public static void dir(int a) { System.out.print("Output: "+a); } } public cl
rt
访问方法dir
,但下面的代码编译时没有任何错误,而我希望得到nullpointerexception
为什么?
当我删除dir方法的static关键字时,我得到了空指针异常,那么静态方法是否有异常
public class root{
private root() {}
final public static void dir(int a)
{
System.out.print("Output: "+a);
}
}
public class plan{
public root rt=null;
public void plot(){
rt.dir(1); //Calling a static method using null object
}
public void static main(String[] args){
plan p1=new plan();
p1.plot();
}
}
如果您希望调用另一个类的静态方法,则必须在调用静态方法时写入类名
您必须使用
root.dir(1)代码>如果希望调用另一个类的静态方法,则必须在调用静态方法时写入类名
您必须使用root.dir(1)代码>如果希望调用另一个类的静态方法,则必须在调用静态方法时写入类名
您必须使用root.dir(1)代码>如果希望调用另一个类的静态方法,则必须在调用静态方法时写入类名
您必须使用root.dir(1)代码>静态方法不与对象链接。这些是类方法。当您调用rt.dir(1)
时,JVM将其替换为Root.dir(1)
实例可以为null,可以导致NPE,但类不能。这就是为什么在这里看不到任何NullPointerException
。静态方法不与对象链接。这些是类方法。当您调用rt.dir(1)
时,JVM将其替换为Root.dir(1)
实例可以为null,可以导致NPE,但类不能。这就是为什么在这里看不到任何NullPointerException
。静态方法不与对象链接。这些是类方法。当您调用rt.dir(1)
时,JVM将其替换为Root.dir(1)
实例可以为null,可以导致NPE,但类不能。这就是为什么在这里看不到任何NullPointerException
。静态方法不与对象链接。这些是类方法。当您调用rt.dir(1)
时,JVM将其替换为Root.dir(1)
实例可以为null,可以导致NPE,但类不能。这就是为什么在这里看不到任何NullPointerException
。首先,它不是Public
它的Public
静态方法不使用对象,因为它是静态的。它只是编译时已知的引用类型。首先,它不是Public
itsPublic
静态方法不使用对象,因为它是静态的。它只是编译时已知的引用类型。首先,它不是Public
itsPublic
静态方法不使用对象,因为它是静态的。它只是编译时已知的引用类型。首先,它不是Public
itsPublic
静态方法不使用对象,因为它是静态的。这就是编译时已知的引用类型。使用类名是一种很好的做法,但使用类名并不是强制性的。他可以使用一个类的实例来访问静态成员(检查他的问题)。使用ClassName是一种很好的做法,但使用ClassName不是强制性的。他可以使用一个类的实例来访问静态成员(检查他的问题)。使用ClassName是一种很好的做法,但使用ClassName不是强制性的。他可以使用一个类的实例来访问静态成员(检查他的问题)。使用ClassName是一种很好的做法,但使用ClassName不是强制性的。他可以使用类的实例访问静态成员(检查他的问题)