Java instanceof和isInstance关键字的理解

instanceof在Java编译状态和运行状态执行的结果有区别:
编译状态:class可以是object对象的父类,自身类,子类。在这三种情况下Java编译时不会报错。
运行转态:class可以是object对象的父类,自身类,不能是子类。前两种的结果为true,
最后一种的结果为false。但class为子类时编译不会报错,运行结果为false。

对象 instanceof 类
obj instanceof class
如果class obj1 = obj成立的话,返回true,否则返回false
类.isInstance(对象)
class.isInstance(obj)
如果class obj1 = obj成立的话,返回true,否则返回false

你可能感兴趣的:(Java基础)