1. 生活智慧通 > 健康知识 >

new bird是什么牌子(new bird)

大家好,小珊来为大家解答以上的问题。new bird是什么牌子,new bird这个很多人还不知道,现在让我们一起来看看吧!

1、别的地方看到的:举个例子,显示鸟的飞行动作对于八哥鸟,你可以这样new Myna().fly();对于鹦鹉,你可以这样new Parrot().fly();对于孔雀,你可以这样 new Peacock().fly();。

2、对于每一个具体的鸟,你都必须调用具体的鸟类对象。

3、现在使用多态再来看看。

4、我们先写一个Bird类,用来抽取出鸟类的飞行动作。

new bird是什么牌子(new bird)

5、public abstract class Bird {public void fly() {System.out.println("default bird fly!");}}再写具体的鸟类,继承Bird类class Parrot extends Bird {@Overridepublic void fly() {System.out.println("Parrot fly");}}class Myna extends Bird {@Overridepublic void fly() {System.out.println("Myna fly");}}现在再来看一下八哥和鹦鹉的飞行动作。

6、public static void main(String args[]) {Bird bird = new Parrot();bird.fly();bird = new Myna();bird.fly();}这样,同一个Bird的实例对象实际对调用的是八哥和鹦鹉的飞行动作。

7、假如这样还不清楚。

8、那么现在有一个flyPerform()方法,显示具体的鸟的飞行行为。

9、flyPerform(Bird bird){bird.fly();}那么你就可以这样flyPerform(new Parrot());flyPerform(new Myna());假如现在又有了一种新的鸟,NewBird那么我们只需要将new NewBird作为参数传入flyPerform方法即可,而不需要去修改这个方法的代码。

10、这是一个比较粗糙的例子,要不你仔细琢磨看看?对于这个推荐答案,我不是很认同,在java里面多态一般指的是运行时多态,重载多态是通过方法签名实现的,同一个方法名,但是要求参数必须不一样,这个在编译期间就可以确定调用的是哪个方法。

本文到此分享完毕,希望对大家有所帮助。

本文由网上采集发布,不代表我们立场,转载联系作者并注明出处:http://cj.annaidi.com