已经载入jar包里类MyParser,
其中MyParser extends Parser{}
在主程序里也有一个相同的Parser类,在主程序里将MyParser的对象转换为Parser类型时出错. 代码如下:
myClass = cl.loadClass("com.jb.book.parse.MyParser");
Object obj = myClass.newInstance();
Parser parser = ((Parser)obj);
String ret = parser.getData(15, 20);
请问有办法可以将MyParser的对象转换为Parser类型 吗?
------解决方案--------------------
错误内容是什么?
------解决方案--------------------
ClassCast了吧?
用你的自定义类装载器装载MyParser和Parser
------解决方案--------------------
- Java code
将下列类打入jar包:package com.kouyi.test.vo;public class UserExtend { private String user_id = "1"; private String remark; public String getUser_id() { return user_id; } public void setUser_id(String user_id) { this.user_id = user_id; } public String getRemark() { return remark; } public void setRemark(String remark) { this.remark = remark; }}新建一个UserExtend类package com.kouyi.test.action;public class UserExtend { /** * @param args */ public static void main(String[] args) { try { Class cl = ClassLoader.getSystemClassLoader().loadClass("com.kouyi.test.vo.UserExtend"); com.kouyi.test.vo.UserExtend obj = (com.kouyi.test.vo.UserExtend) cl.newInstance(); String ret = obj.getUser_id(); System.out.println(ret); // 输出为1 } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }}