我想知道声明的实例化和未实例化的引用变量之间的区别是什么。
例如:
Rhino
的班级
我通过声明变量Rhino
,但我没有实例化它。Rhino
的另一个变量,并实例化为null
的值。这两者有什么区别?
我试图制作单链表。
答案 0 :(得分:0)
以下是一个示例,您可以尝试自己找出答案:
package general;
public class BasicInstantiation {
private String name;
BasicInstantiation(String name){
this.name = name;
}
public void setName(String name){
this.name = name;
}
public String getName() {
return name;
}
public static void main(String[] args) {
try {
BasicInstantiation bi = null;
bi.setName("Romeo");
}
catch (NullPointerException ex){
ex.printStackTrace();
}
try {
BasicInstantiation bi1 = new BasicInstantiation("Romeo");
bi1 = null;
bi1.getName();
}
catch (NullPointerException ex){
ex.printStackTrace();
}
}
}
输出:
java.lang.NullPointerException
at general.BasicInstantiation.main(BasicInstantiation.java:21)
java.lang.NullPointerException
at general.BasicInstantiation.main(BasicInstantiation.java:30)