Methods for Type Hierarchy 类 Class声明了以下方法用于获取数组元素 的类型信息,非数组类型则返回mull public Class get ComponentTypeO 类 Class声明了以下方法用于获取嵌套类所 在的外层类信息 publie Class getDeclaring Classe
Methods for Type Hierarchy • 类Class声明了以下方法用于获取数组元素 的类型信息,非数组类型则返回null public Class getComponentType() • 类Class声明了以下方法用于获取嵌套类所 在的外层类信息 public Class getDeclaringClass()
public abstract class Outer( public static final class Inner i public class Outer Ext extends Outer( 天 ModIfIer明种衣国 Class c0=OuterExt. class. getSuper Class; int m= cO. getModifiers(; boolean isAbstract= ModifierisAbstract(m); true boolean isPublic= ModifierisPublic(m); true Class cl=c0.get Classeso10l; boolean is Final= Modifier is Final(cl. getModifiersO); true
java.lang.reflect.Modifier Class • java.lang.reflect包定义了各种与反射相关的 类和接口 • 类Modifier声明了各种表示修饰符类型的常 量和判断方法: static final int FINAL static final int PUBLIC static boolean isProtected(int mod) static boolean isVolatile(int mod) public abstract class Outer{ public static final class Inner {……} …… } public class OuterExt extends Outer{ …… } Class c0 = OuterExt.class.getSuperClass(); int m = c0.getModifiers(); boolean isAbstract = Modifier.isAbstract(m); boolean isPublic = Modifier.isPublic(m); Class c1 = c0.getClasses()[0]; boolean isFinal = Modifier.isFinal(c1.getModifiers()); true true true
intl a=new int; A Stringll b=new String 101 boolean c=new boolean 5: Boolean d=new Booleans: System. out. printIn(a. getClasso getNameo); System. out. printIn(b.getClassO-getName0); System. out. printIn(c. getClasso. getNameO) System. out. printIn(d. getclasso-getNameo); LLjavalang String; LLjava lang Boolean;
Array Class Name • 数组的类名由一个或多个左方括号“[”和表示数组 元素类型的字符构成,左方括号“[”的个数表示数 组的维数 B byte C char F float S short Z boolean D double I int L<类名>; 类或接口 J long • 类Class声明了以下方法用于获取类型名 public String getName() int[][] a=new int[5][]; String[] b=new String[10]; boolean[] c=new boolean[5]; Boolean[] d=new Boolean[5]; System.out.println(a.getClass().getName()); System.out.println(b.getClass().getName()); System.out.println(c.getClass().getName()); System.out.println(d.getClass().getName()); [[I [Ljava.lang.String; [Z [Ljava.lang.Boolean;