标签:
1.动态加载类实现
首先要创建一个Word类的类类型,在通过类类型创建一个满足OfficeAble(标准)的一个对象s,通过对象s就可以调用Word类中的方法。
import T1.OfficeAble; public class Office1 { public static void main(String[] args) { try { Class c= Class.forName("T1.Word"); //传入什么类就 加载什么类 //创建对象 OfficeAble s=(OfficeAble)c.newInstance(); //调用方法 s.start(); } catch (Exception e) { e.printStackTrace(); }} }
OfficeAble(标准)的创建
package T1; public interface OfficeAble {//创建一个接口来规范对象 public void start(); public void rr(); }
需要加载的类
package T1; public class Word { public void start() { System.out.println("word调用成功啦!"); } public void rr() {} }
2.类类型的反射作用(可以查看一个类的属性和方法)
package T1; import java.lang.reflect.Method; import java.text.Annotation; import java.text.DateFormat.Field; import java.util.Arrays; public class ClassTest { public static void main(String[] args) { Class d=Word.class; //获取类的类名
System.out.println(d.getName());
//获取不包含包的类名 System.out.println(d.getSimpleName());
Method[] mes=d.getDeclaredMethods();//获取方法 java.lang.reflect.Field[] sl= d.getDeclaredFields();//获取属性 System.out.println(Arrays.toString(mes)); for(int a=0;a<sl.length;a++){ String g=sl[a].getType().getName(); System.out.println(g); } System.out.println(Arrays.toString(sl)); } }
标签:
原文地址:http://www.cnblogs.com/lgshiwoo/p/5545648.html