Добрый день, решаю задачку, где нужно зная путь к классу загрузить его в класс Class. Ничего не объяснялось, мол гугли ClassLoader. Ну я нашел самый логичный ответ, загрузить класс через forName. Все в интернете говорят, что должно работать так: Class clazz = Class.forName("абсолютный путь к файлу"); но даже убедившись на 100% что путь к файлу приходит верный, с помощью проводника Windows, программа всё равно кидает ClassNotFoundException. Полазив я подглядел код у другого ученика, вот такой:
// - не работает Class clazz = Class.forName(file.toString());
            MyClassLoader loader = new MyClassLoader();
            Class clazz = loader.load(file.toPath());

public class MyClassLoader extends ClassLoader {
    public Class<?> load(Path path) {
        try {
            byte[] b = Files.readAllBytes(path);
            return defineClass(null, b, 0, b.length);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }
}
И метод казалось бы рабочий, но зачем тогда нужен forName? он не работает! либо работает, но я не понимаю как.