首先看代码:
VerificationCode verificationCode ;//声明式对象
verificationCode= verificationCodeMapper.selectLatestVerificationCode(email) ;//声明式对象
VerificationCode verificationCode =new VerificationCode();//new对象
总结:声明式对象只是一个该对象类型的变量或者说是引用没有真正实例化,第二段代码只是把查找到的该类型对象返回来给这个变量。如果没有第二段代码,去引用这个变量的方法的时候可能会出现空指针异常。并且该对象存活时期是在栈上,执行完就死亡了(不知道是不是真的)。
new对象是直接实例化了嘛然后分配在堆上,存活时期看垃圾回收器。