java之多态值得注意的小细节

java之多态值得注意的小细节

首先,JVM特性 : 多线程,跨平台,面向对象,自动垃圾回收机制

面向对象特性 : 封装性,继承性,动态性(多态),抽象

多态相关知识点 :
软件设计六大原则
里氏替换原则 : 能够使用父类的地方就一定可以使用子类
1 单一职责原则 : 功能职责单一,只拥抱一种变化
2 里氏替换原则 : 所有在使用父类的情况下,都可以使用子类
3 依赖倒置原则 : 高层通过抽象依赖底层,
4 接口隔离原则 : 不应该依赖于它不需要的接口
5 迪米特原则 : 最少知识原则
6 开闭原则 : 对扩展开放,对修改关闭
多态就是里氏替换原则的一种体现

什么是多态

: 父类引用 指向 子类对象
父类引用 : 父类型声明的引用类型变量
指向 : 就是通过这个引用类型的变量可以找到谁
子类对象 : new 的子类对象
通过父类创建一个引用类型的变量,可以找到子类的对象
父类 变量 = new 子类();
Animal a = new Cat();
变量声明
数据类型 变量名 = 值;

变量分类 :
局部变量
1 方法内部声明
2 参数列表声明
静态变量
成员变量
有变量的地方 就可以发生多态,并且多态是发生在赋值的时候
Animal a = new Cat();

多态发生的几种形式

1 直接多态
不管成员变量还是局部变量 直接声明式多态 父类 变量 = new 子类();
2 形参和实参
方法参数定义时 使用父类定义,调用方法时,传递子类对象
3 返回值
返回值类型定义为父类, 返回数据的时候返回子类对象

多态的缺点 : 丢失子类特有的属性
多态调用属性 :
1 如果调用的是父类没有的,直接报错,都访问不了
2 如果调用的是子类没有的,都访问父类的
3 如果调用的是父类和子类都有的,那么除了成员方法调用子类的之外,其他的都调用父类的,因为成员方法可以覆写

多态得到前提条件
1 必须有继承关系的体系中(父,子,爷,孙 都可以)
2 多态又叫向上转型
在这里插入图片描述
在这里插入图片描述

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页