是否可以在运行时重新编译类中的java代码?
示例:
package com.main;
public class Main {
public static int a = 5;
public static int b = 10;
public static void main(String[] args) {
int c = func(a, b);
compile("int func(int a, int b) { return a * b; }");
int d = func(a, b);
}
static int func(int a, int b) {
return a + b;
}
}
因此在本例中,编译函数将覆盖现有方法。
我的程序会接收uni给学生的分数/分数,因为大多数科目都有不同的方法来计算总得分,用户应该可以单独更改这些分数。
是否可以在不使用AST(抽象语法树)或必须编译必须继承某些方法的新类文件的情况下执行此类操作?