获取类型的Class对象 java.lang.Class
1.类型名.class
基本数据类型和void只能用这个
2.对象.getClass()
3.Class.forName("类的全名称") java.lang.String
4.类加载器对象.loadClass("类的全名称")
package project05; import java.lang.annotation.ElementType; /* 获取类型的Class对象 java.lang.Class 1.类型名.class 基本数据类型和void只能用这个 2.对象.getClass() 3.Class.forName("类的全名称") java.lang.String 4.类加载器对象.loadClass("类的全名称") */ public class test04 { public static void main(String[] args) throws ClassNotFoundException { MyTest t=new MyTest(); //t.test1(); //t.test2(); //t.test3(); t.test4(); } } class MyTest{ public void test4() throws ClassNotFoundException { ClassLoader loader = ClassLoader.getSystemClassLoader(); Class<?>c=loader.loadClass("java.lang.String"); System.out.println(c);//class java.lang.String } //3.Class.forName("类的全名称") public void test3() throws ClassNotFoundException { Class<?>c=Class.forName("java.lang.String"); System.out.println(c); } //2.对象.getClass() public void test2() { String str="hello"; Class<?> c=str.getClass(); System.out.println(c); //class java.lang.String } //1.类型名.class public void test1() { //类 Class<?> c1=Object.class; Class<?> c2=Object.class; System.out.println(c1==c2);//true System.out.println(c1);//class java.lang.Object //接口 Class<?>c3=Comparable.class; System.out.println(c3);//interface java.lang.Comparable //枚举 Class<?>c4=ElementType.class; System.out.println(c4);//class java.lang.annotation.ElementType //注解 Class<?>c5=Override.class; System.out.println(c5);//interface java.lang.Override //数组 Class<?>c6=int[].class; System.out.println(c6);//class [I //基本数据类型 Class<?>c7=int.class; System.out.println(c7);//int //void Class<?>c8=void.class; System.out.println(c8);//void } }
原文:https://www.cnblogs.com/hapyygril/p/12996406.html