NULL解释

class Test{
public static void main(String args[]){
String a = null;
String b;
String c = "abc";
System.out.println(a + c); //打印结果是nullabc
System.out.println(b + c); //直接编译报错
}
}
a,b 都是在栈中分配,堆中都没分配,为何a可以用,b不可以用,高手帮忙解答下什么原因?

NULL其实也是值···