this.class.getClassLoader()怎么理解?

this.class.getClassLoader()怎么理解?

 

       java是面向对象语言,面向对象的语言的宗旨就是万事万物皆对象,那么类也是一个对象,类里面的属性和方法也是对象。java里面的所

 

有的类都是Class类的对象,这个this.class是获得这个类相对于Class类的对象。后面的方法是获得这个类对象的加载器。

 

只有Class类才有getClassLoader()方法呀~ 可以这么想,我们平时讲述某某类,但是我们并没有说这个类怎么和虚拟机打交道,虚拟机怎么识别这

 

个类.总不能全靠字符串吧. 所以呢java就设计了Class这个类.用于虚拟机对类的管理.当一个类被虚拟机装载完毕的时候,就会创建一个Class类

 

的实例,对于类A就是A.class,对于类B就是B.class. Class类也提供了许多方法来获取类的信息. 要知道,类的装载器分为 "启动类装载器 ", "用

 

户定义装载器 ".它不止一种 Class类需要保存这些信息. getClassLoader()是用来获取这个信息的;

 

1 is = DBConnUtil.class.getClassLoader().getResourceAsStream("database.properties");   //加载database.properties文件
2             Properties p = new Properties();
3             p.load(is);

 

posted @ 2015-09-24 17:00  权杖攻城狮  阅读(474)  评论(0编辑  收藏  举报