面向对象13:instanceof和类型转换

本文详细探讨了Java中的instanceof关键字及其在判断对象类型和类型转换中的应用,通过示例展示了如何在继承体系中使用,以及类型转换的潜在影响。同时介绍了如何在IDEA中批量编辑和抽象思考编程概念。
摘要由CSDN通过智能技术生成

面向对象13:instanceof和类型转换

instanceof

  • (类型转换) 引用类型,判断一个对象是什么类型~

代码show

demo01:

//Person
public class Person {
    public void run() {
        System.out.println("Person run");
    }
}

//Student
public class Student extends Person {
    public void go() {
        System.out.println("go");
    }
}
/*
        //Object > String
        //Object > Person > Teacher
        //Object > Person > Student
        Object object = new Student();
        //System.out.println(X instanceof Y);//能不能编译通过
        System.out.println(object instanceof Student);//true
        System.out.println(object instanceof Person);//true
        System.out.println(object instanceof Object);//true
        System.out.println(object instanceof Teacher);//false
        System.out.println(object instanceof String);//false
        System.out.println("==================================");
        Person person = new Student();
        System.out.println(person instanceof Student);//true
        System.out.println(person instanceof Person);//true
        System.out.println(person instanceof Object);//true
        System.out.println(person instanceof Teacher);//false
        //System.out.println(person instanceof String);//编译报错
        System.out.println("==================================");
        Student student = new Student();
        System.out.println(student instanceof Student);//true
        System.out.println(student instanceof Person);//true
        System.out.println(student instanceof Object);//true
        //System.out.println(student instanceof Teacher);//编译报错
        //System.out.println(person instanceof String);//编译报错

 */

/*
        //类型之间的转化 父 子
        //子类转换为父类,可能丢失自己本来的一些方法
        Student student = new Student();
        student.go();
        Person person = student;
        Person person1 = new Student();
        ((Student) person1).go();
 */

//Teacher
public class Teacher extends Person {

}

彩蛋

1.idea中批量编辑多行(alt+鼠标向上移动)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8EcUh5x5-1624161892022)(C:\Users\Administrator\Desktop\学习笔记\JavaSE笔记\Java面向对象\面向对象13:instanceof和类型转换.assets\image-20210620115403161.png)]

2.抽象思想

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SHC5sQEa-1624161892027)(C:\Users\Administrator\Desktop\学习笔记\JavaSE笔记\Java面向对象\面向对象13:instanceof和类型转换.assets\image-20210620115910550.png)]

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值