instanceof关键字、强制转换

instanceof关键字

判读两个类是否存在父子关系

System.out.println(X instanceof Y);  看 X 和 Y是否有继承关系
import demo.demo2.Person;
import demo.demo2.Student;
import demo.demo2.Teacher;

public class Application {
    public static void main(String[] args) {

        //object ->Person ->Teacher
        //object ->Person ->Student
        //System.out.println(X instanceof Y);  看 X 和 Y是否有继承关系
        Object object = new Student();
        System.out.println(object instanceof Student);
        System.out.println(object instanceof Teacher);
        System.out.println(object instanceof Person);   //继承之后为true 否则为false
        System.out.println(object instanceof Object);
        System.out.println(object instanceof String);
        System.out.println("----------------------------");
        Student obj = new Student();
        System.out.println(obj instanceof Student);
//        System.out.println(obj instanceof Teacher);   //编译不通过
        System.out.println(obj instanceof Person);      //继承之后为true 否则为false
        System.out.println(obj instanceof Object);
//        System.out.println(obj instanceof String);    //编译不通过
        System.out.println("----------------------------");
        Person person = new Student();
        System.out.println(person instanceof Student);
        System.out.println(person instanceof Teacher);
        System.out.println(person instanceof Person);      //继承之后为true 否则为false
        System.out.println(person instanceof Object);
//        System.out.println(person instanceof String);    //编译不通过
    }
}

运行结果

true
false
true
true
false
----------------------------
true
true
true
----------------------------
true
false
true
true

强制转换

  1. 父类引用指向子类的对象(多态的概念:Object object = new People();)

  2. 把子类转换成父类 向上转换

  3. 把父类转换成子类 向下转换 :强制转换

  4. 方便方法的调用 减少代码的重复,使代码更简洁

和基本数据类型的强制转换类似,这里是继承的父类与子类的强制转换

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值