关闭

抽象

标签: 多态
88人阅读 评论(0) 收藏 举报

多态

静态多态

在编译期,就确定调用哪个对象的哪个方法
- 体现一:方法的重载;
- 体现二;单独使用的重写;

动态多态

在编译期不清楚,在运行期根据具体情况确定哪个方法

  • 动态绑定
  • 重写

转型

基本数据类型

  • 自动转换
  • 强制转换

引用数据类型

条件:必须有继承关系

  • 向上转型(绝对成功,没有风险)
  • 当父类的引用指向子类的对象,该引用只能看见来至父类的属性行为,看不到子类特有的行为属性;
  • 当父类的引用指向子类的对象时,该引用调用被子类重写的方法时,得到子类重写后的效果
  • 向下转型(强制转型,不一定成功,有风险)
  • 只有在本类的引用指向本类的对象是才会成功

动态绑定

  • 父类的引用指向子类对象,同事调用父类被重写的方法

instanceof

用instanceof规避强转的风险

抽象

表明该类具有这个方法,当不知道如何去实现;

  • 关键字:abstract
  • 有抽象方法的类必须是抽象类;
  • 抽象类不一定有抽象方法;但失去了设计的意义;
  • 抽象类不能产生对象;
  • 抽象类的用途是专门用来产生子类;
  • 当子类继承抽象类是,必须重写所有的抽象方法;除非该子类是抽象类;
  • 抽象类有构造方法,虽然自己不能产生对象;但子类可以产生对象
  • 抽象类不影响动态绑定;
  • 抽象类的引用可以指向子类,强迫子类必须重写要调用的抽象方法;·
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1969次
    • 积分:178
    • 等级:
    • 排名:千里之外
    • 原创:17篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档