java再复习——多态的理解
来源:互联网 发布:linux 查看硬件命令 编辑:程序博客网 时间:2024/06/09 14:45
每当有人问我什么是多态的时候,我并不知道到底该如何去回答。我只知道在代码中什么时候该使用接口,什么时候使用父类,继承,使用多态的特性来编程,但是到底该如何回答,今天我想强迫自己总结一下。
多态的定义:多种形态,可以实现动态联编,就是在编译的时候是一种形态,在运行的时候绝对它的真正形态。
这话到底是他妈的什么意思?
简单点,说话的方式再简单点,对应代码就是:
public class Test {public static void main(String[] args) {Person person = new Person();Person son = new Son();person.say();son.say();}}class Person{public void say(){System.out.println("person fuck");}}class Son extends Person{public void say(){System.out.println("son fuck");}}结果:
person fuckson fuck
对应语法就是,父类的引用指向子类的实例,在运行的时候,具体执行谁的方法,是由引用指向的真正的实例所决定的。
这样做的好处就是,使的的程序可以很好的扩展以及大大提供程序的灵活性。
比如:
有一个方法
public class Test {public void TestSay(Person person){person.say();}}形参是Person,这就意味着Person实例以及Son实例都可以传入,而且内部都是直接调用say方法,不用关心到底是谁,在程序真正运行的时候会去决定到底是谁,这样在编写程序的时候,灵活性就极大了,假设如果没有这种特性的存在,那么首先需要编写两个方法,来分别接受Person参数和Son参数,而且如果以后有了Son2,Son3,Son4类的话,还需要去大量的增加和修改代码,程序根本没有办法应对扩展,而如果有了多态的特性,则上述代码根本不用变,就算以后出来了Girl1,Girl2上述的那行代码还是不用变。
这就是多态的语法与应用。
其实就是为了程序的扩展与改变。
0 0
- java再复习——多态的理解
- java复习2 封装、继承、多态的理解
- java复习之多线程的简单理解
- java再复习——注解的定义与使用
- java再复习——线程的安全问题以及同步
- java再复习——线程的死锁问题
- java复习——方法的重载
- Java——复习
- java再复习——泛型
- java再复习——自定义泛型类
- java再复习——Collection体系
- java再复习——Map体系
- java再复习——异常总结
- 全面理解String(JAVA复习)
- 全面理解String(JAVA复习)
- 工厂模式的简单实现和快速理解--------(java复习)
- Java复习笔记(一)——Java的运行机制
- java 复习——数据类型
- 阿里巴巴iconfont(图标仓库)
- windows下安装和配置nginx
- 从源代码到可执行文件——编译全过程解析
- Swift
- 计算几何-二分求幂
- java再复习——多态的理解
- android之闹钟
- java中next和nextline的区别
- JVM调优总结(一)-- 一些概念
- jQuery给单选框默认选中方式
- 利用海康威视sdk 预览摄像机
- getActionBar().setDisplayHomeAsUpEnabled(true)这句报空指针异常的解决方式
- 在ubuntu用arm ds-5社区版配合linaro交叉编译工具开发android linux应用
- 如何让虚拟目录里面的webconfig不继承网站的设置