首页 > 其他分享 >多态和instanceof

多态和instanceof

时间:2022-10-19 12:34:18浏览次数:44  
标签:instanceof 子类 多态 employee 父类 PM

多态

对象有多种状态。作用:提高程序的可扩展性。

一个对象具备多种状态的能力,这个程序是可扩展的。
前提:
   必须有层级关系  继承    实现
   继承:子类和父类的关系,一个父类可以有多个子类,说明父类的引用有多种形态
作用类型: 形参、返回值、创建对象

可以将子类的方法重载,也可以直接将方法的形式参数类型改成父类的对象,子类对象向上转型为父类的引用,可以把它理解为类型隐式转换,由低到高。

在多态情况下,无法直接获得子类独有的成员,需要进行强制转换,向下转换为子类的类型,由高到低:

PM pm=(PM)employee;
但是假如方法里面还有其他子类的方法,需要使用instance判断employee对象是否某子类型的

instanceof

判断一个引用是否是一个类的实例

employee instanceof PM
判断employee对象否是PM类型

如果说子类有很多私有属性需要访问,可以使用方法重载来替换

标签:instanceof,子类,多态,employee,父类,PM
From: https://www.cnblogs.com/Liku-java/p/16805844.html

相关文章

  • 继承和多态
    动手实验:继承条件下的构造方法调用运行TestInherits.java示例,观察输出,注意总结父类与子类之间构造方法的调用关系修改Parent构造方法的代码,显式调用GrandParent的另一个......
  • 面向对象语言的三大特性:封装,继承,多态
    封装:可以将事物的属性和行为抽象出来,封装在一个类中。继承:子类可以从基类上继承其(全部或部分)属性和函数。多态:多态是指一个接口,对应多种实现。C++的多态性具体体现在编译......
  • 【转】多态的实现原理
    转载自:https://blog.csdn.net/fightHHA/article/details/81626383https://blog.csdn.net/weixin_49199646/article/details/109492763?spm=1001.2101.3001.6650.8&u......
  • Java_SE_Lesson_2:多态与static和final关键字
    多态:父类型的引用可以指向子类型的对象。Parentp=newChild;当使用多态方式调用方法时,首先检查父类中是否有sing方法,如果没有则编译错误;如果有,再去调用子类的si......
  • java中的instanceof和类型转换
    java中的instanceof和类型转换父类代码如下:packageoop.Demo06;​publicclassPerson{  publicvoidrun(){    System.out.println("run"); }}​ ......
  • java中的多态
    java中的多态父类代码如下:packageoop.Demo06;​publicclassPerson{  publicvoidrun(){    System.out.println("run"); }}​ 子类代码如下 ......
  • 第四讲 继承与多态 课后总结
    什么是继承?继承是对现实生活中的“分类”概念的一种模拟。狮子拥有动物的一切基本特性,但同时又拥有自己的独特的特性,这就是“继承”关系的重要特性:通常简称为“IS_A”关......
  • 多态性之包装类的使用
    packageWrapperTest;importorg.junit.Test;/***@authorliu$*@version1.0*@description:包装类的使用*@date2022.10.15$2022.10.15$*/publicclasswrapp{......
  • 多态
     classMammal{}classDogextendsMammal{}classCatextendsMammal{}publicclassTestCast{publicstaticvoidmain(Stringargs[]){Mammalm;......
  • 03继承与多态
    源代码packageshiyan;classAnimal{voideat(){ System.out.println("animal:eat"); } } classDogextendsAnimal{ voideat(){ System.o......