如何通过实例分析java多态

本篇文章为大家展示了如何通过实例分析java多态,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

创新互联建站专注于宁乡网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供宁乡营销型网站建设,宁乡网站制作、宁乡网页设计、宁乡网站官网定制、微信小程序定制开发服务,打造宁乡网络公司原创品牌,更为您提供宁乡网站排名全网营销落地服务。

首先来看这样的一段代码,其中对于类的定义如下:

class Parent{  public int myValue=100;  public void printValue() {    System.out.println("Parent.printValue(),myValue="+myValue);  }}class Child extends Parent{  public int myValue=200;  public void printValue() {    System.out.println("Child.printValue(),myValue="+myValue);  }}

我们来一个一个的回答问题:

1.运行结果如图

2.对于这个运行结果的解释,第一行第二行都是正常的调用,第三行中,将child赋给了parent 再进行的输出,这时候我们发现结果变成了200 并且输出语句也变了。

第四句,执行了parent.myValue++;但结果并没有改变。第五行中,将parent类强行转换为子类后又进行了自增,结果变成了201.

3.对于这里的分析,我们发现子类赋值给父类是没有问题的,也就是说子类完全可以直接转换成父类。第四行的语句结果还是200,说明他对于myValue的++还是调用了父类中的Value,但最后还是输出了子类的Value.说明子类赋给父类后,只是一部分替代,并不是完全覆盖。第五句里,将父类转换成子类然后进行++,第四句第五句结合起来,可以说明子类赋值给父类,并不是所谓的覆盖,只是把原本的东西给隐藏了罢了。而强制转换后则不同,直接变成了子类。

最后,这其实告诉我们在实际应用中,我们不应该把父类和子类设置成相同的源代码和成员变量,对于程序员在编程时的理解十分不利。

上述内容就是如何通过实例分析java多态,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。


本文标题:如何通过实例分析java多态
本文路径:http://scyanting.com/article/gcsjhp.html