今年的软件设计师考试最后一题是java题,题目较简单,但是其中有个地方在考完后偶一直深思
问题是:
在构造方法中new出来的一个对象A,在本类的其他方法中调用A的方法时,是不是应该先判断一下A是不是为空,偶的观点是判断A是否为空可以提高程序的健壮性,但是要是在调用对象方法前都要现判断对象是否为空,那么效率不用说,肯定变低很多,那么我觉的是应该在程序关键的部位才去判断对象是不是为空,而不是判断所有的被用到的对象,象今年考试中那种应该就不需要,大家可以看看今年的软件设计师试题第7题
请各位大虾赐教

解决方案 »

  1.   

    如果new个对象 不会因为某种原因 不能正常new出来 
    就不必检查   否则多麻烦如果new个对象 可能不能正常new出来 比如抛出异常  
    那需要用到这个对象的地方 都一起try起来就可以了
      

  2.   

    new出来的对象如果生命周期跟生成它的那个类的生命周期相同,可以不用判断,但有很多情况并不是这样的,所以这些情况就得去判断。例如你有个set方法将new出的对象置空。这种情况就需要判断。
      

  3.   

    new 已经为对象分配内存了。如果连内存都分配不成功还判断什么呢!(new Object).toString()--和Object obj=new Object()--obj.toString()在复杂的情况下要对第二种情况判断。