//判断是否击中了敌人坦克if (hero.shot!=null && hero.shot.isLive ){for (int i = 0;i<enemyTanks.size();i++){EnemyTank enemyTank = enemyTanks.get(i);hitTank(hero.shot,enemyTank);}}
上面代码的if条件不能写成这样:
if ( hero.shot.isLive && hero.shot!=null )
如果写成这样,它不会先判断指针是否为空,就会导致空指针异常!