JAVA多态
来源:互联网 发布:开关机软件 编辑:程序博客网 时间:2024/04/29 03:56
简单一点说呢,多态就是表现多种形态的能力的特征。更术语化一点说,同一个实现接口,使用不同的实例而执行不同的操作。
我们先看以下代码,首先我们定义一个父类:
- public class Person
- {
- public void say()
- {
- System.out.println("大家好,我是父类Person中的say方法");
- }
- }
然后我们再定义两个子类,继承自Person类,并都重写了父类中的say方法
- public class Student extends Person
- {
- public void say()
- {
- System.out.println("大家好,我是子类Student中的say方法");
- }
- }
- public class Teacher extends Person
- {
- public void say()
- {
- System.out.println("大家好,我是子类Teacher中的say方法");
- }
- }
然后,我们再编写一个测试类
- public class Test
- {
- public static void main(String args [])
- {
- hello(new Student());
- hello(new Teacher());
- }
- public static void hello(Person person)
- {
- person.say();
- }
- }
在以上代码MAIN方法中,hello方法的参数类型是父类Person类型的,但是我们在调用时,传入的参数是其子类类型的,程序运行
后的结果是,输出了两个子类的SAY方法
以上,我们就简答的实现了一个多态。
如何实现多态?
1.子类重写父类的方法
Student类,Teacher类都是Person类的子类,两个子类都重写了父类中的say方法.,因此具有不同的方法实现。
2.把父类类型作为参数类型,该父类及其子类的对象作为参数传入
在MAIN方法中的hello方法中,参数类型是Person类型的,而我们在调用的时候,传入的参数是其子类的对象.
这样就避免了为每一个子类编写一个hello方法
3.运行时,根据实际创建的对象类型决定调用哪个方法
这也正是多态的实现机制。一般称为动态绑定。在运行时,JVM会根据实际创建的对象类型决定使用哪个方法。
这样做的好处是,能减少代码的编写量,也能大大的提高代码的可读性以及可扩展性。
- Java学习 java -- 多态
- java多态
- java多态
- java多态
- java多态
- Java多态
- java多态
- JAVA@多态
- Java多态
- java 多态
- Java多态
- java多态
- [Java] 多态
- JAVA多态
- Java多态
- java多态
- java 多态
- java多态
- 内部类的好处
- 关于学习DIV+CSS的感想
- 在函数中定义内部类
- 学习C++面向对象
- 在内部类中如果要使用函数中定义的变量的情况
- JAVA多态
- jBPM3 vs jBPM4 (转)
- MapAbc使用体验
- 第一次来到这里
- 匿名内部类的使用
- JAVA接口
- zImage内核镜像解压过程详解
- 无毒灰鸽子有毒
- php调用mysql数据库,但数据库不能显示中文呈乱码