关于对象动态生成的问题!哪位大虾帮个忙!

nlm_wboy 2002-01-14 11:31:56
用Class.ForName("CLASSA").newInstance()可以返回一个Object类型
但如何在不知道此对象具体类型的情况下直接返回一个CLASSA类型,而不是Object类型??

换个说法,就是输入一个如何实现:输入一个字符串"CLASSA",不用强制类型转换,返回一个CLASSA的对象啊?

哪位大虾帮个忙啊?
...全文
83 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
nlm_wboy 2002-01-16
  • 打赏
  • 举报
回复
错,我不是达文西,是文西
让我修改字节码,也太离谱了吧,实话告诉你吧,我要做的是要你命XP,叫要你命.NET也行
hahaha88 2002-01-16
  • 打赏
  • 举报
回复
5烤厉害!你怎么什么都知道! 莫非你是达文西?其实卖猪肉只是一种表面上的掩护,
真正的身份是一个”备用“特工!哈哈哈哈哈

你说的好像在Java中是不支持的,想别的办法吧,我也曾想用类似的功能,嘻嘻
不一定非要自己写java编译器嘛,你可以手工修改字节码嘛。。。嘻嘻

你到底想要做什么东西?非要这种功能?难道。。。难道。。。是要做。。。”要你命3000“?
哈哈哈哈哈
hahaha88 2002-01-15
  • 打赏
  • 举报
回复
java.lang.reflect的例子:

http://java.sun.com/docs/books/tutorial/reflect/index.html
hahaha88 2002-01-15
  • 打赏
  • 举报
回复
如果在编译时你就用到了属于CLASSA但不属于java.lang.Object的特殊信息,
你必须用强制类型转换来告诉编译器到哪里去获得这些信息(在这种情况下,
CLASSA必须在编译时就存在)。我个人认为,这种限制是合理的。然后可以用
多态的方法来在运行时使用这些信息(运行时绑定)。

如果不用强制类型转换(即:你想编一个”非常通用“的程序,如一个”类分析器“
这个程序在编译时不知道CLASSA的任何情况),你可以用java.lang.reflect包来
在运行时逐个得到CLASSA的变量/方法/父类等信息。
nlm_wboy 2002-01-15
  • 打赏
  • 举报
回复
re:卖猪肉的
其实我就是想要一个这样的方法:
String className;
new (className); // WRONG!
他后面的所谓解决方法我都用过,都需要返回一个Object类型,问题是我需要直接得到一个className描述的类型,别告诉我让我去自己写个java编译器。
nlm_wboy 2002-01-15
  • 打赏
  • 举报
回复
这位卖猪肉的,我不想要什么类的信息,我只想得到CLASSA的实例,就想new一样,只是参数是个字符串而已。
唉,真怀念预编译啊!!哪位大虾帮帮忙啊!!

23,407

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧