Java代码实际应用中的易错点记录

1 创建对象

在fight方法中想根据接收到的名字创建不同的对象,最后调用方法,其中palnt是一个接口这三种对象已经实现了该接口。但在运行时下面代码是错误的因为我在if中声明了plant其作用范围只在{ }有效,因此后面直接使用是错误的。

public void fight(String name){
   if ("Bean".equals(name)){
     Plant plant =  new Bean();
   }else if ("Ice".equals(name)){
     Plant plant =   new Ice();
    }else {
      Plant plant =  new Wall();
    }
    plant.fight();
}

正确的方法

     Plant plant = null;
     if ("Bean".equals(name)){
         plant =  new Bean();
     }else if ("Ice".equals(name)){
          plant =   new Ice();
      }else {
           plant =  new Wall();
      }
      plant.fight(); 

猜你喜欢

转载自www.cnblogs.com/youngao/p/11371423.html