instanceof,isinstance(),class

     在查询类型信息时,以instanceof的形式(即以instanceof的形式或isinstance()的形式,他们产生相同的结果)与直接比较class对象有一个很重要的差别。instanceof保持了类型的概念,它指的时“你是这个类吗,或者你是这个类的派生类吗?”而如果用==比较实际的class对象,就没考虑继承----它或者是这个确切的类型,或者不是。

    class shap{};

    class circle extends shap{};

     shap instanceof circle   -----true

     shap.equals(circle)       ------false

      circle==shap                -----false

      shap.isinstance(circle)  ---true

猜你喜欢

转载自blog.csdn.net/lihuihao2/article/details/83651118