首页 / JAVA / java中对于多态的一个实例分析
java中对于多态的一个实例分析
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java中对于多态的一个实例分析,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含820字,纯文字阅读大概需要2分钟。
内容图文
首先来看这样的一段代码,其中对于类的定义如下:
class Parent{ public int myValue=100; publicvoid printValue() { System.out.println("Parent.printValue(),myValue="+myValue); } } class Child extends Parent{ publicint myValue=200; publicvoid printValue() { System.out.println("Child.printValue(),myValue="+myValue); } }
我们来一个一个的回答问题:
1.
运行结果如图
2.对于这个运行结果的解释,第一行第二行都是正常的调用,第三行中,将child赋给了parent 再进行的输出,这时候我们发现结果变成了200 并且输出语句也变了。
第四句,执行了parent.myValue++;但结果并没有改变。第五行中,将parent类强行转换为子类后又进行了自增,结果变成了201.
3.对于这里的分析,我们发现子类赋值给父类是没有问题的,也就是说子类完全可以直接转换成父类。第四行的语句结果还是200,说明他对于myValue的++还是调用了父类中的Value,但最后还是输出了子类的Value.说明子类赋给父类后,只是一部分替代,并不是完全覆盖。第五句里,将父类转换成子类然后进行++,第四句第五句结合起来,可以说明子类赋值给父类,并不是所谓的覆盖,只是把原本的东西给隐藏了罢了。而强制转换后则不同,直接变成了子类。
最后,这其实告诉我们在实际应用中,我们不应该把父类和子类设置成相同的源代码和成员变量,对于程序员在编程时的理解十分不利。
原文:https://www.cnblogs.com/wushenjiang/p/11755213.html
内容总结
以上是互联网集市为您收集整理的java中对于多态的一个实例分析全部内容,希望文章能够帮你解决java中对于多态的一个实例分析所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。