ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java学习笔记-多态

2022-07-27 21:31:49  阅读:50  来源: 互联网

标签:instanceof Java 子类 多态 笔记 转型 父类 方法


Java的三大特性: 封装、继承、多态

1:多态

1.1: 方法的多态(了解)
  • 方法的重写和重载就是方法的多态的体现形式

1.2: 对象的多态

1.2.1:

对象的多态性:父类的引用指向子类的对象

1.2.2 : 多态的使用

1:使用前提

  1. 类中存在继承关系
  2. 子类对父类方法进行重写

2:虚拟方法调用

  1. 在编译期,只能调用父类声明的方法,但 在执行期实际执行的是子类重写父类的方法。(编译时,看左边;运行 时,看右边。 )
  2. 若 编 译 时 类 型 和 运 行 时 类 型 不 一 致, 就 出 现 了 对 象 的 多 态 性
  3. “看左边”:看的是父类的引用(父类中不具备子类特有的方法) “看右边”:看的是子类的对象(实际运行的是子类重写父类的方法)。

1.3: 多态的转型

1.3.1 多态的向上转型

语法格式:

父类  父类引用 =  new  子类();

父类的引用可以调用父类的所有成员方法,可以调用子类的重写父类的方法,但是不能调用子类独有的方法。

1.3.2 多态的向下转型

语法格式:

父类类型 父类引用 = new  子类();
子类类型 子类引用 = (子类类型)父类的引用;//向下转型

使用特点:先向上转型,再向下转型。(为了防止出现ClassCastException 异常)

1.4 instanceof关键字

1.4.1 instanceof 是 Java 的保留关键字。它的作用是测试它左边的对象是否是它右边的类的实例,返回 boolean 的数据类型。

语法格式:

对象 instanceof 类名
 //a instanceof A  
 //判断对象 a 是否是类 A 的实例。如果是,返回 true,如果不是,返回 false;
 // 使用情境:为了避免在向下转型时出现 ClassCastException异常,我们在进行向下转型之前,先进行 instanceof 的判断 , 一旦返回true, 就进行向下转型。如果返回 false,不进行向下转型。

标签:instanceof,Java,子类,多态,笔记,转型,父类,方法
来源: https://www.cnblogs.com/qihongzhang/p/16526551.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有