我对多态和继承这个话题比较陌生,但我有一个亟待解决的问题。请考虑以下代码:
public class Food {
public static void eat() {
System.out.println("This food is great.");
}
}
public class Cake extends Food {
public static void eat() {
System.out.println("This cake is great.");
}
}
当然,你可以像这样实例化一个Cake对象:
Cake c = new Cake();
但我也被告知你可以像这样实例化一个Cake对象:
Food c = new Cake();
我的问题是:两者有什么区别?我没有看到第二个问题,但我确定必须有一个有用的情况?