有人知道如何定义和实例化反射出来的类的子类吗?

papaya66 2018-04-24 03:28:54
有一个类A里面有f1和f2两个方法, 这个A类我无法直接引用,只能通过Class.forName(String)反射来获取它的类对象.
现在我需要定义一个A类的子类B类,并覆盖重写f1和f2两个方法,然后创建一个B类的实例,这个有办法实现吗?代码怎么写啊?请各位大侠多多指教,谢谢:)
...全文
818 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
papaya66 2018-08-31
  • 打赏
  • 举报
回复
stacksoverflow高人也:)
stacksoverflow 2018-08-31
  • 打赏
  • 举报
回复
引用 10 楼 stacksoverflow 的回复:
[quote=引用 9 楼 papaya66 的回复:]
stacksoverflow这个方法我想到过,应该可行,不过感觉有点流氓:),不知道有没有更佳优雅的做法

搞个A类的代理,拦截f1,f2方法,调用B的方法,不用继承。[/quote]
或者用JDK的代理,默认就是继承机制。
stacksoverflow 2018-08-31
  • 打赏
  • 举报
回复
引用 9 楼 papaya66 的回复:
stacksoverflow这个方法我想到过,应该可行,不过感觉有点流氓:),不知道有没有更佳优雅的做法

搞个A类的代理,拦截f1,f2方法,调用B的方法,不用继承。
papaya66 2018-08-31
  • 打赏
  • 举报
回复
stacksoverflow这个方法我想到过,应该可行,不过感觉有点流氓:),不知道有没有更佳优雅的做法
stacksoverflow 2018-08-31
  • 打赏
  • 举报
回复
做一个和平台类A一样路径的假类A和空方法f1,f2,然后直接写class B extends A,正常编译。
上线打包的时候把假类A的class文件删掉就可以了。
papaya66 2018-08-31
  • 打赏
  • 举报
回复
这么说可能简单一点,我需要定义一个类B继承于类A,但我现在只有这个类A的class对象,而不能在代码里直接写class B extends A {},这种情况下,我要如何定义类B?有办法吗?
maradona1984 2018-04-25
  • 打赏
  • 举报
回复
引用 5 楼 hbhbhbhbhb1021 的回复:
既然子类是自己定义的,那为什么不能实例呢?
所以说楼主的问题很奇葩嘛,或许他的平台代码会调用父类的代码,然后他想修改父类的逻辑罢了... 但楼主能否不让回答问题的人猜测你到底想干啥...
hbhbhbhbhb1021 2018-04-24
  • 打赏
  • 举报
回复
既然子类是自己定义的,那为什么不能实例呢?
papaya66 2018-04-24
  • 打赏
  • 举报
回复
父类是个空架子,得自己定义子类来实现方法
papaya66 2018-04-24
  • 打赏
  • 举报
回复
因为sdk的api里没有A类,平台里有,所以只能用反射来获取A类,但又必须创建A类的子类B类来覆盖其中的方法,所以才这么伤脑筋:)
hbhbhbhbhb1021 2018-04-24
  • 打赏
  • 举报
回复
感觉楼主应该是想通过父类的class,直接通过某种方法实例出子类吧,可能不想动子类的classname 子类搞父类好像还好弄点
引用 1 楼 maradona1984 的回复:
你自己的代码,到了连创建一个对象都不能的地步了? 我很好奇你那到底有什么限制
maradona1984 2018-04-24
  • 打赏
  • 举报
回复
你自己的代码,到了连创建一个对象都不能的地步了? 我很好奇你那到底有什么限制

62,614

社区成员

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

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