各位高手,我现在碰到了一个问题,希望大家帮忙解决一下:
现在的项目需要我在动态的过程中往一个方法里面增加一些代码,并运行这个函数,我具体的做法是这样的:
1、首先写好一个空函数funB(),在代码的最后调用funB()
2、在空函数前有一个函数funA(),funA()利用Java IO 在funB中插入一些代码。
3、直接运行后,发现funB()仍然是空的刷新eclipse中的工程,再运行就可以得到得到funB()的结果。估计是funA()运行后,代码没用重新编译。我想问问大家怎么解决这个问题,谢谢了。
现在的项目需要我在动态的过程中往一个方法里面增加一些代码,并运行这个函数,我具体的做法是这样的:
1、首先写好一个空函数funB(),在代码的最后调用funB()
2、在空函数前有一个函数funA(),funA()利用Java IO 在funB中插入一些代码。
3、直接运行后,发现funB()仍然是空的刷新eclipse中的工程,再运行就可以得到得到funB()的结果。估计是funA()运行后,代码没用重新编译。我想问问大家怎么解决这个问题,谢谢了。
解决方案 »
- 诡异:关于JAVA 块,静态块,构造函数,继承的执行先后问题····
- 求救~~刚装了JDK 但JAVAC.EXE运行不起来 怎么解决?急啊!!!谢谢
- 在Swing下如何实现最大化窗口后里面的内容和组件也跟着一起最大化?
- 问一个算法,如何将数字反转(使用数学方法,不能将它转换成字符或者字符串)
- 如何得到服务已经运行了多少时间?
- 求Java打包成Exe的官方软件
- 如何得到jfilechooser中选择的文件的文件名
- application的窗口中不能画图形?
- 如何用java来实现银行家算法?
- 类方法里面不能写循环语句吗?
- Java&sql server&odbc,求大虾帮忙啊!!!!
- 读取字符时乱码
这样当然会出问题.你往funB中添加代码后,应该调用系统命令,执行javac编译它,再加载这个类以使用.
不过,你这样做,其实非常的非主流.一个成功的程序,怎么会要动态的修改其内部的代码呢?肯定是某些地方,你没找到实现的方法.
比如:计算一个表达式,2*3+(3+1)/3,这个表达式如果直接写在源代码中,当然很好算,那是因为计算的工作交给了编译器.但是,如果这个表达式是动态输入的,那你就不会了,你可能就会想到动态生成一个源代码,把表达式加进去.但是这是很不科学,运行速度也很慢的.