你的Class序程序中的主函数确实没有定义static ,main()这个方法是由jvm去调用的,但是在调用时没有创建对象而是通过类名去调用的,这时就需要用static去修饰这个方法。
- package sdf;
- import java.lang.reflect.*;
- class Rect
- { double width,height,area;
- public double getArea()
- { area=height*width;
- return area;
- }
- }
- public class MyClass
- {
- <FONT color=red> public static void main(String args[])
- </FONT>{ 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());
- }
- }
- }
复制代码
结果是:
类的名字:sdf.Rect
类中有如下的成员变量:
double sdf.Rect.width
double sdf.Rect.height
double sdf.Rect.area
类中有如下的方法:
public double sdf.Rect.getArea()
类中有如下的构造方法:
sdf.Rect()
|