标签:使用 不同的 声明 lse java void 易错点 bean als
在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();
标签:使用 不同的 声明 lse java void 易错点 bean als
原文地址:https://www.cnblogs.com/youngao/p/11371423.html