最近看到一个java程序,其中有一个方法的参数是 类名.class,不知道是什么意思,哪位高手能帮忙回答一下?
3个回答
展开全部
这说明参数类型是Class类型 很正常
每一个类都有一个class成员,代表该类唯一的Class实例
每一个类都有一个class成员,代表该类唯一的Class实例
追问
class成员?不太明白,能不能说详细点?
追答
就是任何一个类比如说String,都有一个静态成员叫class,其类型是Class,可以按如下方式赋值:
Class cla =String.class;
有些方法可能需要Class类型的参数,这时候可能就需要通过String.class的方式提供。
楼下说的反射只是Class类的一部分应用,楼主如果需要了解详情可以看下面的这个代码片段。
getMethod方法就需要Class类型的参数,楼主可以查阅JDK的API了解详情
public DataObject delegator(String className, String methodName,
DataObject para) throws Exception{
//查找客户化表,获取客户化的类
String customClassName = getCustomClass(className);
//查找客户化表,获取客户化的方法
String customMethodName = getCustomMethod(methodName);
Class c = Class.forName(customClassName);
//获取客户化的类的实例
Object o = c.newInstance();
Method m = o.getMethod(customMethodName, DataObject.class);
DataObject result;
try{
//执行客户化的方法
result = m.invoke(o, para);
} catch(InvocationTargetException e)[
throw e.getCause();
}
return result;
}
展开全部
java.lang.Class.
Class 类的实例表示正在运行的 Java 应用程序中的类和接口
Class 对象是在加载类时由 Java 虚拟机以及通过调用类加载器中的 defineClass 方法自动构造的。
Class通常用在java的反射机制中.例如通过类名得到对应类的实例.
Class.forName()
Class 类的实例表示正在运行的 Java 应用程序中的类和接口
Class 对象是在加载类时由 Java 虚拟机以及通过调用类加载器中的 defineClass 方法自动构造的。
Class通常用在java的反射机制中.例如通过类名得到对应类的实例.
Class.forName()
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
反射。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |