抽象

来源:互联网 发布:弹弹安卓版吉他软件 编辑:程序博客网 时间:2024/04/29 06:45

多态

静态多态

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

动态多态

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

  • 动态绑定
  • 重写

转型

基本数据类型

  • 自动转换
  • 强制转换

引用数据类型

条件:必须有继承关系

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

动态绑定

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

instanceof

用instanceof规避强转的风险

抽象

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

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