3 回答
TA贡献1805条经验 获得超10个赞
执行静态块可以通过使用自定义类加载器来实现。
类重载文件
Class<?> load = ClassLoader.getSystemClassLoader().loadClass("com.Hello");
//Assume Hello class is in "com" package
load.newInstance().toString();
URL[] urls = { load.getProtectionDomain().getCodeSource().getLocation() };
ClassLoader delegateParent = load.getClassLoader().getParent();
try (URLClassLoader cl = new URLClassLoader(urls, delegateParent)) {
Class<?> reloaded = cl.loadClass(load.getName());
reloaded.newInstance().toString();
}
}
}
TA贡献1786条经验 获得超11个赞
与您想要多次执行的任何其他代码块一样,您可以使用循环或更好地创建静态函数并多次调用它:
public class Hello{
public static void hello() {
System.out.println("helloo...");
}
public void someMethod() {
for(int i= 0; i < 10; i++) {
hello();
}
}
}
添加回答
举报