首页 > 其他 > 详细

instanceof (isinstance) 和class的区别

时间:2017-02-27 22:54:01      阅读:258      评论:0      收藏:0      [点我收藏+]

instanceof (isinstance)代表的是类型的概念,既然是类型就有继承的概念,苹果是水果,但水果不是苹果,但水果也是水果。

所以苹果instanceof水果是true;水果instanceof苹果就是false了。

class不是类型的概念而是类的概念,苹果的class不是水果的class,这个比较用==(equals)

class Base{};
class Extend extends Base{};
public class ConfusedConcept {
    /**
     *the difference between instanceof and class
     */
    public static void main(String[] args) {
        System.out.println( new Base() instanceof Extend);//false
        System.out.println( new Extend() instanceof Base);//true
        System.out.println( new Base() == new Extend());//比较的是class,false
        

    }

}

可见“==”比较较真,是就是,不是就是不是,不含糊;instanceof说起来含含糊糊,但是人家也是有规律的:先来后到可是不能乱的,人是生物不假,生物可不都是人哦。可见较真就能准确定位,含糊却可以体现先后,古人云:物有本末,事有终始,知所先后,则近道矣。细细品来,真实不虚。

instanceof (isinstance) 和class的区别

原文:http://www.cnblogs.com/pdcayxs/p/6476711.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!