得到类的字节码对象的三种方式

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);
	}
}
相关文章
相关标签/搜索