java源码(xxx.java)经过编译后造成字节码文件,字节码文件经过类加载器得到字节码对象,java
经过字节码对象能够操做源码中的属性和方法。spa
方式一,使用类的class属性:code
Class<java.util.Date> clazz1 = java.util.Date.class;对象
方式二,经过Class类中的静态方法forName(String className),传入类的全限定名(必须添加完整包名)blog
Class<?> clazz2 = Class.forName(“java.util.Date”);资源
方式三,经过对象的getClass方法来实现,其中,getClass()是Object类中的方法,全部的对象均可以调用该方法get
java.util.Date str = new java.util.Date();源码
Class<?> clazz3 = str.getClass();编译
经过类加载器得到src下的任何资源的路径(类加载器的使用)class
public class Demo { public static void main(String[] args) { //得到Demo的字节码对象 Class clazz=Demo.class; //得到Demo字节码文件的类加载器 ClassLoader classLoader = clazz.getClassLoader(); //得到classes(src)下的任何资源,注意!!src下 String path = classLoader.getResource("jdbc.properties").getPath(); System.out.println(path); } }