使用父类,接口或子类创建新对象?

时间:2018-07-26 19:46:42

标签: java

我刚刚开始学习Java,当我有一个子类扩展其父类和/或实现接口时,我对创建新对象感到困惑。

例如,如果我有:

家长课:动物课,有走路,吃饭,睡觉的方法 子班:有方法唱歌的鸟班 界面:使用方法fly进行飞行

“ Bird扩展Animal实现了Flyable”或仅仅是“ Bird扩展Animal”

因此,当我创建新对象时,我可以拥有:

  1. 动物鸟1 = new Animal();
  2. 动物bird2 = new Bird();
  3. Bird bird3 = new Bird();
  4. 可飞鸟4 = new Bird();

据我了解(如果没有误会...),除非在调用方法时为1和2强制转换对象,否则我可以在Animal中调用所有方法。对于3。我可以调用Animal,Bird和/或Flyable中的每个方法(如果实现的话);对于4。我只能在Flyable中调用该方法。

所以我的问题是,为什么不只在Java中创建3.,因为我们可以使用父类和子类中的所有方法?为什么以及何时需要1. 2.和4。?

感谢您的帮助!

0 个答案:

没有答案