以下程序片段在运行时会抛出NullPointerException的异常,下列给出的原因说明中,正确的是:()。
publicclassPerson{
publicStringname,id;
name=id=null;
Person(Stringi,Stringn){
id=i;
name=n;
}
voidshow()
System.out.println(“Id:”+id);
System.out.println(“Name:”+name);
}
publicstaticvoidmain(Stringargs[]){
PersonmyPerson;
myPerson.show();
}
}
A.main方法中PersonmyPerson的对象声明仅通知编译器用指定标识对指定类型的变量进行引用,它并未真正实例化一个对象,即没有在内存中分配相应的地址空间
B.构造对象时未给定初值,因此name和id为null
C.应将main方法中的语句PersonmyPerson;改成PersonmyPerson("01","test");
D.应该在main方法的myPerson.show();语句前增加一条语句来调用Person类的构造方法,例如:myPerson.Person('01','test');