Java向变量添加代码
我想知道是否可以将代码添加到对象变量中,稍后再运行它?Java向变量添加代码,java,Java,我想知道是否可以将代码添加到对象变量中,稍后再运行它? 我想这样做: MyClass c = new MyClass(); c.addCode( //Add my code here ); c.runCode(); 您应该在类内的方法中定义该代码,然后在必要时调用它。例如: public class MyClass{ public MyClass(){ ... } public void runCode(){ // Your code goes here
我想这样做:
MyClass c = new MyClass();
c.addCode(
//Add my code here
);
c.runCode();
您应该在类内的方法中定义该代码,然后在必要时调用它。例如:
public class MyClass{
public MyClass(){ ... }
public void runCode(){
// Your code goes here
}
}
然后您可以通过以下方式访问代码:
c.runCode()代码>您想要运行任务
如果您使用Java 1.5或更高版本,请查看Java.util.concurrent包
您将发现ExecutorService和Runnable等接口可能会有所帮助
您可以创建此类可运行类的实例来实现所需的功能,其中“runCode”函数是ExecutorService.execute()我的意思是,如果您的变量类型是,比如,Queue
,或者内部有一个队列,那么请确定。您只需向队列中添加一个新的Runnable
。如果我正确地插入了您的问题,您是否希望在程序运行时动态编辑其源代码?虽然并非完全不可能,但这样做是极其危险的
您可以通过安全、正确地使用控制结构来避免这种情况
只需将要“添加”的代码放入方法中:
//i want to add code to program
methodWithCode();
void methodWithCode(){
// code here
}
或者在条件语句中
if(i_want_to_add_code){
// code here
}
拥有一个variable的目的是去掉AllTogether类,但是该类必须已经存在,才能声明变量。你想用它做什么?正如Brian所说,如果没有MyClass
存在,你就不能实例化c
。你放弃MyClass的动机是什么?您是否正在尝试在运行时编写代码?这是为了在我和朋友正在创建的小型引擎中对实体进行冲突测试。我们有实体机器人,然后你创建各种机器人,将它们添加到屏幕上。我们希望实体做特定的事情(例如,与你交谈,逃跑),我们不想一个接一个地编写类