/**
* Class类
* @author chanxiaoxi
*Class是java.lang包中的一个类
*该类的实例用来封装对象运行时的状态
*当一个类被加载切创建对象时,和该类相关的一个类型为Class的对象就会自动创建
*Class本身不提供构造方法,因此不能使用new运算符和构造方法来创建一个Class对象
*任意对象调用getClass()方法都会回去和该对象相关的一个Class对象
*String getName():返回类的名字
*Constructor[] getDeclaredConstructors():返回类的全部构造方法
*Field[] getDeclaredFields():返回全部成员变量
*Method[] getDecalredMethods():返回类的全部方法
*/
import java.lang.reflect.*;
class Rect {
double width,height,area;
public double getArea(){
area=height*width;
return area;
}
}
public class Demo4{
public static void main(String[] args){
Rect rect=new Rect();
Class cs=rect.getClass();
String className=cs.getName();
Constructor[] con=cs.getDeclaredConstructors();
Field[] field=cs.getDeclaredFields();
Method[] method=cs.getDeclaredMethods();
System.out.println("类的名字:"+className);
System.out.println("类中有如下的成员变量:");
for(int i=0;i<field.length;i++){
System.out.println(field[i].toString());
}
System.out.println("类中有如下方法:");
for(int i=0;i<method.length;i++){
System.out.println(method[i].toString());
}
System.out.println("类有如下的构造方法:");
for(int i=0;i<con.length;i++){
System.out.println(con[i].toString());
}
}
}