首页 > 代码库 > 多态和抽象
多态和抽象
引用数据类型:
只有有继承关系的,才有可能做类型转换,其它的没有可能
多态的分类
一、静态多态
指的是编译时,系统就能决定调用哪个方法
二、动态多态
指的是运行中系统才能动态确定方法所指的对象
多态的技术基础:
1.向上转型:一个父类的引用变量可以指向不同的子类对象
2.向下转型:把父类的值赋给子类的变量,有风险,不一定成功
抽象类的特点
1.抽象类不能产生对象
2.抽象类存在的意义就在于产生子类
3.抽象方法里面可以定义属性、方法、构造、初始化块,普通类有的它的有
4.语法上允许一个抽象类里面没有抽象方法,但这样做失去了设计的意义
5.子类继承抽象类,必须实现抽象类中所有的抽象方法,除非这个子类自己也是抽象类
6.abstract只能修饰方法和类
instanceof关键字:用于判断对象的真正类型
动态绑定
1.父类引用指向子类对象的时候,如果我们调用被重写方法,会得到子类重写后的效果,因为这个对象本身就是一个子类对象所以它的实现一定是子类自己的实现
2.异构集合:不同对象的集合,称为异构集合
抽象
1.抽象方法:当一个方法,我们只能确定它的实现,那么该方法就该设计为抽象方法
2.语法:在方法的声明部分加上一个可选修饰符abstract,然后该方法不能有方法的实现部分,连{ }也不能有用;直接结束
3.有抽象方法的类,必须是抽象类
编译成功时的两种情况
1.本类引用指向本类对象
2.父类引用指向子类对象
多态和抽象
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。