????Class c = Cat.class;
????Field[] fields = c.getDeclaredFields();
????for (Field field : fields){
????System.out.println(field);
????}
??????????£?
????public static int Cat.count
????public int Cat.age
????private java.lang.String Cat.name
??????????????????????????Cat?????????????????
????Method[] methods = c.getDeclaredMethods();
????for (Method method : methods){
????System.out.println(method);
????}
??????????? ??
????public void Cat.run()
????private void Cat.ruff()
???????????????????????????????????????????????Cat???е????????????β??????С??????????????Class????????????????????
????try {
????Cat cat = (Cat) c.newInstance();
????} catch (InstantiationException e) {
????e.printStackTrace();
????} catch (IllegalAccessException e) {
????e.printStackTrace();
????}
?????????????????????
????this is class Cat!
???????????????????????????飺
????try {
????Class catClass = Class.forName("Cat");
????Field name = catClass.getDeclaredField("name");
????name.setAccessible(true);
????Cat cat2 = (Cat) catClass.newInstance();
????name.set(cat2??"Aristark");
????System.out.println(cat2.getName());
????} catch (ClassNotFoundException e) {
????e.printStackTrace();
????} catch (IllegalAccessException e) {
????e.printStackTrace();
????} catch (InstantiationException e) {
????e.printStackTrace();
????} catch (NoSuchFieldException e) {
????e.printStackTrace();
????}
??????????????Class.forname()?????Class????????????????jvm????????????????????Cat?????????????С?????????????????????Class??????????????????????????????name?????
????this is class Cat!
????Aristark
??????????????????????????????????OOP??????????????????????????????????????
??????????
????????Class???????????????????????н???????????????????????????????????а????????????java?????????????????????????????????ɡ????????????????????????????????????Щ?н??????????£???????????