メモリがどのように割り当てられているかを知る必要があるコードがあります
public class Demo {
public void checkNullReference(){
ConsumerName name = null;
addReference(name);
System.out.println(name.getConsumerName());
}
public void addReference(ConsumerName name){
name = new ConsumerName();
name.setConsumerName("KRISHNA");
}
public static void main(String []args){
Demo demo = new Demo();
demo.checkNullReference();
}
}
コードは null ポインター例外を与えています。オブジェクトの参照をメソッドに与えました。そこに新しいオブジェクトを割り当て、メソッドを書き直すと名前を設定すると、すべてが期待どおりに機能します。
public void checkNullReference(){
ConsumerName name = new ConsumerName();
addReference(name);
System.out.println(name.getConsumerName());
}