IDE(集成开发环境),例如Eclipse,MyEclipse,NetBeans等。
调试器
测试工具等
提供了在运行时获取类的元数据的方法。
提供了检查和更改类的运行时行为的方法。
方法 | 说明 |
public String getName() | 返回班级名称 |
public static Class forName(String className)throws ClassNotFoundException | 加载类并返回Class类的引用。 |
public Object newInstance()throws InstantiationException,IllegalAccessException | 创建新实例。 |
public boolean isInterface() | 检查它是否是接口。 |
public boolean isArray() | 检查它是否为数组。 |
public boolean isPrimitive() | 检查它是否原始。 |
public Class getSuperclass() | 返回超类的类引用。 |
public Field[] getDeclaredFields()throws SecurityException | 返回此类的字段总数。 |
public Method[] getDeclaredMethods()throws SecurityException | 返回此类的方法总数。 |
public Constructor[] getDeclaredConstructors()throws SecurityException | 返回此类的构造函数总数。 |
public Method getDeclaredMethod(String name,Class[] parameterTypes)throws NoSuchMethodException,SecurityException | 返回方法类实例。 |
类的
forName()方法 对象类的
getClass()方法
.class语法
用于动态加载类。
返回Class类的实例。
如果您知道类的全限定名,则应使用它。不能将其用于基本类型。
class Simple{
}
class Test{
public static void main(String args[]){
class c=Class.forName("Simple");
System.out.println(c.getName());
}
}
Simple
class Simple{
}
class Test{
void printName(Object obj){
class c=obj.getClass();
System.out.println(c.getName());
}
public static void main(String args[]){
Simple s=new Simple();
Test t=new Test();
t.printName(s);
}
}
Simple
class Test{
public static void main(String args[]){
class c = boolean.class;
System.out.println(c.getName());
class c2 = Test.class;
System.out.println(c2.getName());
}
}
boolean Test
class Simple{
}
interface My{
}
class Test{
public static void main(String args[]){
try{
class c=Class.forName("Simple");
System.out.println(c.isInterface());
class c2=Class.forName("My");
System.out.println(c2.isInterface());
}
catch(Exception e){
System.out.println(e);
}
}
}
false true
Java newInstance
Javap工具
创建javap工具
创建 appletviewer