Item item = new Item();这个对象肯定是为空的
错了,这个对象已经分配了内存,不是空的,用System.out.println(item)打印就知道已经存在地址,如果是空,打印null;
判断一个对象是否为空,就是按那个条件判断,没有错,System.out.println();是控制台比较实用的调试,测试方法
Item item = new Item();
现在这个对象为不为空 还不知道 如果内存够用 那么就给他分配好了内存
如果内存不够用了 那么他就是空了
所以在下面加一个逻辑判断if(item == null)
如果成立了 那么表示现在内存不足 对象没有产生
如果不成立那么便是对象已经在内存中产生
new之后就在堆内存中开辟了一定的空间来存储对象,同时栈内存中的引用(就是item中存放的地址)指向对应的堆内存地址;null表示内存中没有这个对象。
谁跟你说item是空的。new出来了就不是空的,哪怕没有给他赋值,他都是存在的。就像刚出生的小孩,没有起名字就不存在吗?
你都对他实例化了 他肯定不为空了
如果没有具体的引用它就是空的