如何利用java反射,获取属性接口的具体类

如何利用java反射,获取属性接口的具体类,第1张

你可以这么写:

class BodyImpl implements Body{

//do something

public static void main(String[] args) {

Type[] interfaces = BodyImplclassgetInterfaces();

ParameterizedType firstInterface = (ParameterizedType) interfaces[0];

Class c = (Class) firstInterfacegetActualTypeArguments()[0];

Systemoutprintln(cgetName()); // prints "AtomEntry"

}

}

就得到你所要的接口参数了!

如果那些需要被反射的Form与FormMain在同一程序集中,可以用Activator类反射Form对象:

Form f = (Form)ActivatorCreateInstance(TypeGetType(name));

然后

fVisible = true;

fShow(); // 非模态,或按模态方式显示 fShowDialog()

注意,name参数必须是要反射的Form对象的带命名空间的名称。

完整代码:

private void ShowWindowByName(string name)

{

Form f = (Form)ActivatorCreateInstance(TypeGetType(name));

fVisible = true;

fShow();

}

调用:

ShowWindowByName(thisGetType()Namespace+""+"Form1");

ShowWindowByName(thisGetType()Namespace+""+"Form2");

针对你的补充:

是呀,还是按照以往的方式,在Form1,Form2上添加控件和事件处理方法。反射的意思是,根据现有的已经制作好的窗体的名字,在运行时动态地创建它的实例,然后Show出来。你可以试试看,先做一个Form1窗体,放上按钮什么的,然后再做FormMain窗体,添加一个按钮,然后在添加Click事件的处理方法,在这方法之中,加入上面的代码。

Java中要用到反射,首先就必须要获取到对应的class对象,在Java中有三种方法获取类对应的class对象。 1、通过类的class属性 2、通过类实例的getClass()方法获取

以上就是关于如何利用java反射,获取属性接口的具体类全部的内容,包括:如何利用java反射,获取属性接口的具体类、通过类名创建类的实例(反射)、java反射调用怎样获得原来的类型等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9326971.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存