this.class.getClassLoader()怎么理解?this.class 是什么意思呀?

解决方案 »

  1.   

    this指代当前类
    獲取運行時當前類的加載器
      

  2.   

    java是面向对象语言,面向对象的语言的宗旨就是万事万物皆对象,那么类也是一个对象,类里面的属性和方法也是对象。java里面的所有的类都是Class类的对象,这个this.class是获得这个类相对于Class类的对象。后面的方法是获得这个类对象的加载器。
      

  3.   

    那this.getClassLoader()与this.class.getClassLoader()一样的吗??
    为什么一定要有一个.class?
      

  4.   

    只有Class类才有getClassLoader()方法呀~
    可以这么想,我们平时讲述某某类,但是我们并没有说这个类怎么和虚拟机打交道,虚拟机怎么识别这个类.总不能全靠字符串吧.
    所以呢java就设计了Class这个类.用于虚拟机对类的管理.当一个类被虚拟机装载完毕的时候,就会创建一个Class类的实例,对于类A就是A.class,对于类B就是B.class.
    Class类也提供了许多方法来获取类的信息.
    要知道,类的装载器分为"启动类装载器","用户定义装载器".它不止一种
    Class类需要保存这些信息.
    getClassLoader()是用来获取这个信息的
      

  5.   

    非常感谢zephyr_cc() 、spiniper() 的教导。