-3
任何人都知道有关班级生成的事情吗? 我想生成内部静态类来访问父类的私有构造函数。 使用生成的代码比反射速度快很多倍,因为JIT只会在一段时间后优化反射(冷启动需要很长时间) 并且显然我需要合成类等等,可能有人对它有一些了解?我如何生成内部静态类来访问父类的私有构造函数?
任何人都知道有关班级生成的事情吗? 我想生成内部静态类来访问父类的私有构造函数。 使用生成的代码比反射速度快很多倍,因为JIT只会在一段时间后优化反射(冷启动需要很长时间) 并且显然我需要合成类等等,可能有人对它有一些了解?我如何生成内部静态类来访问父类的私有构造函数?
内部类可以随时访问父类的私有字段和方法。
class A {
private A() {
System.out.println("private constructor called");
}
static class Inner {
Inner() {
System.out.println("constructor of static inner class called");
new A();
}
}
public static void main(String[] args) {
new A.Inner();
}
}
生成一个我的意思是, 听说过ASM? 点是原始类没有内部类 所以我尝试使用ASM字节码生成器在运行时 生成一个。理论上它应该起作用。 –
因为你可以看到内部类可以访问父母 –
你试过了吗?顺便说一下,“正常”班的问题是什么?为什么它必须在运行时生成*? – Aloso