java 如何通过对象获取对象类全名

java 如何通过对象获取对象类全名,第1张

java是不支持在运行中进行强制转化的! 如果事先知道类型,可以通过强制转化实现! 如果不知道! 可以采用这种方式

String className = objgetClass()getName(); 得到类名

然后:

A a = (A)ClassforName(className)newInstance();

//上面这句话的意思是,forName(className):静态加载className这个类;

// newInstance(),实例化一个对象

// A 代表你知道的这人类或者这个类的父类, 把强制转化成你所要的对象。

这和你

A a = new A();

是一样的效果!

class获得的是类的Class对象,可不是这个类的对象,用Class 变量名接收,用这个Class对象通过反射机制可以通过newInstence创建出这个类的对象而且只能调用无参数构造器

MFC中有一个API函数,IsKindOf

参见 >

类名class 的方式更加安全,例如当你要获取一个接口的class时,可以使用 类名class 的方式获取

但此时就不能通过 对象getClass 的方式获取了,因为接口是没有实例对象的,接口只有实现类对象,通过这种方式获取到的是接口的实现类的class,而非是接口的class

再者就是对象声明的类型未必是对象本身真正的类型,通过对象获取class容易产生混乱,因此尽量使用更加安全的方式

以上就是关于java 如何通过对象获取对象类全名全部的内容,包括:java 如何通过对象获取对象类全名、Java中类名.class获得当前类的对象,如果这个类实例化了很多对象呢会获得哪一个、c++对象获取类名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/9448603.html

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

发表评论

登录后才能评论

评论列表(0条)

保存