Java面向对象编程之InstanceOf关键词和多态

本文详细介绍了Java中的Instanceof关键字及其用法,包括判断对象是否属于特定类或接口。同时,文章探讨了多态的概念,包括方法重写和重载的规则,以及它们在继承和接口实现中的应用。通过示例代码,展示了如何利用Instanceof进行类型检查以及多态在实际编程中的体现。
摘要由CSDN通过智能技术生成
Java面向对象编程之InstanceOf关键词和多态

讲解 InstanceOf关键词使用,什么是多态

  • InstanceOf 关键词
    • 是Java的⼀个⼆元操作符(运算符),也是Java的保留关键字
    • 作用
      • 判断⼀个类是否实现了某个接⼝,或者判断⼀个实例对象是否属于⼀个类
      • 语法
//如果该object 是该class的⼀个实例,那么返回true。如果该object 不是该class的
⼀个实例,或者object是null,则返回false
boolean result = object instanceof class
参数:
  result :boolean类型。
  object :必选项。任意对象表达式。
  class:必选项。任意已定义的对象类。
public interface Perion {
}

public class Student {
}

public class InstanceOfTest {
    public static void main(String[] args) {
        Student student = new Student();
        boolean result1 = student instanceof Perion;
        System.out.println(result1);
        boolean result2 = student instanceof Student;
        System.out.println(result2);
    }
}

在这里插入图片描述

public interface Perion {
}

public class Student  implements Perion{
}

public class InstanceOfTest {
    public static void main(String[] args) {
        Student student = new Student();
        boolean result1 = student instanceof Perion;
        System.out.println(result1);
        boolean result2 = student instanceof Student;
        System.out.println(result2);
    }
}

在这里插入图片描述
对象类型强制转换前的判断

Person p1 = new Student();
//判断对象p是否为Student类的实例
if(1p instanceof Student)
{
 //向下转型
 Student s = (Student)p1;
}
  • ⽅法重写和重载

    • ⽅法重写 overriede
    • ⼦类对⽗类的允许访问的⽅法的实现过程进⾏重新编写,
    • 注意点
      • 返回值和形参都不能改变
      • ⽗类的成员⽅法只能被它的⼦类重写
      • finalstatic的⽅法不能被重写
      • 构造⽅法不能被重写
      • 访问权限不能⽐⽗类中被重写的⽅法的访问权限更低
    • ⽅法重载 overload
      • ⼀个类⾥⾯,⽅法名字相同但参数不同,返回类型可以相同也可以不同
      • ⽐如构造函数重载
  • 注意核⼼区分

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

  • 总结:Java多态

    • 同⼀个⾏为具有多个不同表现形式或形态的能⼒
    • 常⻅的⽅式
      • 继承⽅法重写
      • 同类⽅法重载
      • 抽象⽅法
      • 接⼝
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值