単純なプログラムでクラスの動的ロードを試みましたが、興味深いことに、単純な名前でクラスを動的にロードしようとすると、classnotfoundexception で失敗します。これは、クラスがデフォルト パッケージ以外のパッケージの下にある場合にのみ発生します。
しかし、フルパス名を指定すると、動的ロードは成功します。ロードされるクラスは、メイン クラスと同じパッケージにあります。
ファイル Main.java:
public class Main {
public static void main(String[] args) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
System.out.println(Class.forName("m"));
}
}
class m extends Main{
}