关于InputStream in = JDBCUtil.class.getClassLoader().getResourceAsStream("jdbc.properties")的介绍

上述代码 pro创建一个静态的Properties对象

JDBCUtil.class是创建一个JDBCUtil的Class对象

可能有很多人不知道Class对象是什么这里简单介绍一下

Class类:Java程序在运行时,Java运行时系统一直对所有的对象进行所谓的运行时类型标识,即所谓的RTTI。这项信息纪录了每个对象所属的类。虚拟机通常使用运行时类型信息选准正确方法去执行,用来保存这些类型信息的类是Class类。Class类封装一个对象和接口运行时的状态,当装载类时,Class类型的对象自动创建
每个类都有一个Class对象
Class类也是类的一种,只是名字和class关键字高度相似。Java是大小写敏感的语言
Class类的对象内容是你创建的类的类型信息,比如你创建一个shapes类,那么,Java会生成一个内容是shapes的Class类的对象
Class类的对象不能像普通类一样,以 new shapes() 的方式创建,它的对象只能由JVM创建,因为这个类没有public构造函数
Class类的作用是运行时提供或获得某个对象的类型信息,和C++中的typeid()函数类似
Class是反射技术的基础,要想操纵类中的属性和方法,都必须从获取Class开始
获取Class对象的方式:Class对象由虚拟机创建,只能获取


JDBCUtil.class.getClassLoader()是获得JDBCUtil类的类加载器

API文档里Class类里有这样的方法 ,返回一个类加载器



JDBCUtil.class.getClassLoader().getResourceAsStream("jdbc.properties")是返回一个读取指定资源的输入流

参考API文档

扫描二维码关注公众号,回复: 185878 查看本文章

返回的是一个输入流

pro.load(in)是从输入流中读取属性列表

参考API文档




猜你喜欢

转载自blog.csdn.net/dragon901/article/details/79808897
今日推荐