博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
阿花宝宝 Java基础笔记 之 多态
阅读量:6706 次
发布时间:2019-06-25

本文共 780 字,大约阅读时间需要 2 分钟。

多态

 父类类型 父类引用=new 子类类型();
多态三要素
 1 继承关系
 2 要有方法重写
    子类没有重写父类方法时,子类对象调用的是父类的方法
    父类没有方法时,无法使用父类对象去调用   编译不通过
    编译时,看写的对象是什么类型,就访问什么类型
    运行时,会根据传进来的真实类型来调用相应方法
   jvm动态绑定机制,根据运行时的真实类型去调用相应方法
 3 父类引用指向子类对象

抽象方法

 1.抽象方法没有具体实现
  访问修饰符abstract 返回类型 方法名();
 2.抽象方法所在类必须是抽象类
  访问修饰符 abstract class 类名{}
 3.子类必须实现抽象父类中的抽象方法,除非子类本身也是抽象的
 4.抽象类中可以有抽象方法 ,也可以没有
 5.抽象类不能被实例化

向上转型 和 向上转型

  向上转型:向上转型:父类的引用指向子类对象。自动进行类型转换
  向上转型:<父类型> <引用变量名> = new <子类型>();
     此时通过父类引用变量调用的方法是子类覆盖或继承父类的方法,不是父类的方法
     此时通过父类引用变量无法调用子类特有的方法
 向下转型:将一个指向子类对象的父类引用赋给一个子类的引用,
 即:父类类型转换为子类类型。需强制类型转换
  子类类型  子类引用名=(子类类型)父类引用;
   在向下转型的过程中,如果没有转换为真实子类类型,会出现类型转换异常
 Java中提供了instanceof运算符来进行类型的判断
 if(父类引用 instanceof 子类类型){
 (子类类型) 子类引用=(子类类型)父类引用;
  子类引用.子类特有方法();
}
父类类型作为方法的返回值
 访问修饰符 父类类型 方法名(参数){
 return 具体子类对象;
 }

 

转载于:https://www.cnblogs.com/ECS666666/p/5339719.html

你可能感兴趣的文章
shell 例程 —— 解决redis读取稳定性
查看>>
sso 自动化运维平台
查看>>
[Java开发之路](15)注解
查看>>
json对象与javaBean,String字符创之间相互转换的方法
查看>>
cookie是什么,在什么地方会用到
查看>>
C#------发送邮件
查看>>
[转]vue全面介绍--全家桶、项目实例
查看>>
开源一个简易轻量的reactor网络框架
查看>>
上机题目(0基础)- Java网络操作-打印网页(Java)
查看>>
webpack 通用模块(每个页面都用到的js)编译
查看>>
python进行数据分析------相关分析
查看>>
Python数据分析(二): Numpy技巧 (4/4)
查看>>
菜鸟学Struts——I18N对国际化的支持
查看>>
Spark读取文件
查看>>
uiautomator2 使用Python测试 Android应用
查看>>
mysql建表以及列属性
查看>>
【转】IT业给世界带来的危机
查看>>
UWP Composition API - GroupListView(一)
查看>>
python模块和类的通用转换规则(2),三步转oo
查看>>
React native 环境搭建遇到问题解决(android)
查看>>