对象的引用和实例的关系,Date date 是创建一个date引用,new Date()是创建一个Date对象(实际上是在内存分配了一段内存),当Date date = new Date() 表示把date这个引用指向了创建的那个对象,理解了这个,你就应该明白题目一到题目四的结果了。因为你在前两题的m1方法中都重新创建了新的对象,并且把引用指向了新的对象,而最终打印的是main中的引用指向对象的内容,而main中引用指向的对象一直没改变,所以题目一、题目二结果;题目三中m1没有创建新对象,也没有改变新引用date的指向,只是用了set方法把对象中内容重新赋值了,所以得到题目三结果;题目四其实跟前两题一样,date = null 改的只是m1方法中引用的指向,跟main方法中的引用无关。
nullpointException-------》调用一个对象为null的方法,肯定包空指针