InstanceOf 关键词

  • 是Java的⼀个二元操作符(运算符),也是Java的保留关键字
  • 作⽤
    • 判断⼀个类是否实现了某个接口,或者判断⼀个实例对象是否属于⼀个类
  • 语法

    1. //如果该object 是该class的⼀个实例,那么返回true。如果该object 不不是该class的一个实例,或者object是null,则返回false
    2. boolean result = object instanceof class
    3. 参数:
    4.   result boolean类型。
    5.   object :必选项。任意对象表达式。
    6.   class:必选项。任意已定义的对象类。

    image.png
    image.png

  • 对象类型强制转换前的判断

    1. Person p1 = new Student();
    2. //判断对象p是否为Student类的实例
    3. if(lp instanceof Student)
    4. {
    5. //向下转型
    6. Student s = (Student)p1;
    7. }

    image.png
    image.png
    image.png
    image.png

    ⽅法重写和重载

    方法重写 overriede

  • 子类对⽗类的允许访问的⽅法的实现过程进⾏重新编写,

  • 注意点

    • 返回值和形参都不能改变
    • 父类的成员⽅法只能被它的⼦类重写
    • final 和 static的⽅法不能被重写
    • 构造⽅法不能被重写
    • 访问权限不能⽐父类中被重写的方法的访问权限更低

      ⽅法重载 overload

  • ⼀个类⾥面,⽅法名字相同但参数不同,返回类型可以相同也可以不同

  • ⽐如构造函数重载

    注意核⼼区分

  • override是在不同类之间的行为,overload是在同⼀个类中的⾏为

  • 总结:Java多态
    • 同⼀个行为具有多个不同表现形式或形态的能力
    • 常⻅的方式
      • 继承⽅法重写
      • 同类方法重载
      • 抽象方法
      • 接口