首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

找不到符号,该如何解决

2013-11-27 
找不到符号public class TestEdible {public static void main(String[] args) {Object[] objects { new

找不到符号
public class TestEdible {
public static void main(String[] args) {
Object[] objects = { new Chicken(), new Apple()};

for (int i = 0; i < objects.length; i++) {
if (objects[i] instanceof Edible)
System.out.println((Edible)objects[i].howToEat());

}
}
interface Edible {
public abstract String howToEat();
}
class Animal {
}
class Chicken extends Animal implements Edible {
public String howToEat() {
return "Chicken : Fry it";
}
}
class Tiger extends Animal {

}
abstract class Fruit implements Edible {

}
class Apple extends Fruit {
public String howToEat() {
return "Apple: Make apple cider";
}
}
class Orange extends Fruit {
public String howToEat() {
return "orange : Make orange juice";
}
}
[解决办法]
System.out.println((Edible)objects[i].howToEat());改成System.out.println(((Edible)objects[i]).howToEat());
[解决办法]
没有进行向下类型转化


public class TestEdible
{
public static void main(String[] args)
{
Object[] objects =
{ new Chicken(), new Apple() };

for (int i = 0; i < objects.length; i++)
{
if (objects[i] instanceof Edible)
System.out.println(((Edible) objects[i]).howToEat()); //向下类型转化
}
}
}

[解决办法]
System.out.println((Edible)objects[i].howToEat());改成System.out.println(((Edible)objects[i]).howToEat());正解

热点排行