本文面向Java初学者,我们在教材上经常会看到Java是多态的,可是一般的教科书只停留在理论上,很少有实际操作。现在把多态个概念用代码简单描述一下,由于本人水平有限,所以难免有不足之处。
首先我们有这样几个类,电脑,个人电脑,笔记本电脑。
java 代码
- class Computer{
-
- public void turnOn(){
- }
- }
现在有了电脑这个类,那么个人PC,笔记本都是继承他。
java 代码
- class PC extends Computer{
- public void turnOn(){
- System.out.println("PC has turn on");
- }
- }
-
- class NB extends Computer{
- public void turnOn(){
- System.out.println("NB has turn on");
- }
- }
我们看到,每个类都有一个 turnOn()方法,而在父类中这个方法是空的,子类中各自有不同的实现,到这里可能还不太明显。如果有另外一个方法,要接受这些类作为参数,就像这样
java 代码
- class Test{
- public void go(Computer computer){
- computer.turnOn();
- }
- }
这个方法接收的是基类参数,当然我们是可以把子类传递给方法的,也应该这么做。
java 代码
- go(new PC());
- go(new NB());
这样他就会去调用具体子类的turnOn()方法,所以这两次调用的输出是不一样的.如果不用基类作为参数,我们想调用每个子类的turnOn()方法,那么就要些两个方法体一样的go()而接收不同的参数的重载。
java 代码
- public void go(PC computer){
- computer.turnOn();
- }
-
- public void go(NB computer){
- computer.turnOn();
- }
这样些也是正确的,但是这样会产生很多重复代码,而且也不易维护,当然这只是多态中最基本的一个部分,Java多态机制还有很多特性,关于这些建议大家看看 java编程思想(think in java)这本书,里面讲的很详细,这里只是很简单的描述了一下,还望个各位高手不要见笑。
分享到:
相关推荐
java多态、继承练习题,包含题目与答案,............................................................................................................
Java多态的讲解
JAVA多态图文详解ppt,详细通过各种举例介绍JAVA多态的ppt
Java 多态中的类型转换
java多态的基础知识,你可能了解,但是如何使用?内附例子。究竟如何实现,帮你学习基础。
java的多态,是一个很重要的环节.但是要知道什么是多态!
C++和Java多态的区别
【Java面试题】谈谈对Java多态的理解
利用大量代码讲解java的多态,让你更容易理解和应用。
从虚拟机角度看Java多态->(重写override)的实现原理
java 的多态是java的重要的四大特性之一,多态又有多少人真正说的清楚呢?这里有最经典的例子,最生动的最鲜活的例子讲解,相信你一定能学会
java多态import java.awt.*; import java.awt.event.*; import javax.swing.*; public class ComplexListener implements MouseMotionListener,MouseListener,ActionListener{ JFrame f; JTextArea tf; JButton ...
这边文章的编程代码:https://blog.csdn.net/qq_41086359/article/details/103650238 Java多态,面向对象编程题
该资料,是一个多态的例子,充分的掌握多态,让多态得到很好的应用
Java多态的实现机制,多态是java的三大属性之一,开发中很重要的一个环节
RTRTRTRTRT 多态的泛型实现 急需积分...
java多态实验,为一些小代码。属于课堂老师布置的做些,很实用。
java 个人对于多态理解和一些笔记。
用代码实例和注释向你讲述什么是多态,实例更容易理解
java多态实现的课件,给那些需要的人 讲述了java多态的概念、分类、实现 综合案例讲解、总结多态的作用