关于java.lang.Class对象的取【转】

来源:互联网 发布:python中感叹号 编辑:程序博客网 时间:2024/05/05 05:42

关于java.lang.Class对象的取得,总结如下 

取得方法



释义



使用getClass()方法


常量:Class c = "foo".getClass(); 
枚举:
enum E { A, B } Class c = A.getClass(); 
接口:
Set<String> s = new HashSet<String>(); Class c = s.getClass(); 
数组:
byte[] bytes = new byte[1024]; Class c = bytes.getClass(); 
一般引用:
String str = "foo"; Class c = str.getClass(); 

运用.class语法



基本类型:Class c1 = boolean.class; Class c2 = int.class;


数组:Class c = int[][][].class;


类接口:Class c = java.io.File.class;

运用静态方法Class.forName()



基本类:Class c = Class.forName ("java.lang.String");


内部类:Class c = Class.forName ("java.lang.HashMap$Entry");


数组:Class c = Class.forName ("[I");



运用基本类型包装类的.TYPE语法


Class c1 = Boolean.TYPE; 
Class c1 = Byte.TYPE; 
Class c1 = Character.TYPE; 
Class c1 = Short.TYPE; 
Class c1 = Integer.TYPE; 
Class c1 = Long.TYPE; 
Class c1 = Float.TYPE; 
Class c1 = Double.TYPE; 
Class c1 = Void.TYPE; 

使用特殊方法


Class c = java.lang.String.class.getSuperclass(); 
Class<?>[] c = Character.class.getClasses(); 

Class<?>[] c = Character.class.getDeclaredClasses();

Class c = f.getDeclaringClass(); 
Class<c> = o.getClass().getEnclosingClass();

原创粉丝点击