最近看到一个java程序,其中有一个方法的参数是 类名.class,不知道是什么意思,哪位高手能帮忙回答一下?

 我来答
sdu_viper
2011-04-06 · TA获得超过124个赞
知道小有建树答主
回答量:141
采纳率:0%
帮助的人:116万
展开全部
这说明参数类型是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;
}
星浩气Mn
2011-04-06
知道答主
回答量:38
采纳率:0%
帮助的人:20.8万
展开全部
java.lang.Class.
Class 类的实例表示正在运行的 Java 应用程序中的类和接口
Class 对象是在加载类时由 Java 虚拟机以及通过调用类加载器中的 defineClass 方法自动构造的。

Class通常用在java的反射机制中.例如通过类名得到对应类的实例.
Class.forName()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
凯拉桑E1a1b
2011-04-06 · TA获得超过977个赞
知道答主
回答量:84
采纳率:100%
帮助的人:39.5万
展开全部
反射。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式