Перенесите Внешнюю Структуру Файлов Java В Программу Java

Я хотел бы иметь возможность добавить файл со структурой java и расширением в мою программу в arraylist через вне фактического каталога программы/jar.

Бывший,

Тест.java, расположенный по адресу C:UsersuserDesktopTest.java (вне jar)

public class Test extends Object {

     public Test() {}

     public void someMethod() {}

}

MyProgram.Ява

import java.util.ArrayList;

public class MyProgram extends Object {

     public MyProgram() {}

     public void readIn() {

         ArrayList<Object> list = new ArrayList<Object>();
         list.add(Test.java);

     }

}

Очевидно, что многое еще предстоит сделать, но, надеюсь, вы понимаете суть.

Читайте В Тесте.java — > конвертируйте его так или иначе, чтобы он был добавлен в arraylist из-за его расширения. Таким образом, если расширение было семейство, а не объект, arraylist будет ArrayList вместо и тестовое семейство расширений.

Редактировать

Как говорится в комментарии, это подход к механизму плагина.

1 ответ

  1. Ответ на этот вопрос вытекает из предложения Seelenvirtuose наряду с crick_007. Чтобы получить доступ к классам вне пути к классу, просто создайте загрузчик классов и загрузите его.
    Необходимо также использовать интерфейс для взаимодействия между двумя классами, также зная, какие методы предоставляются. Наконец, упаковка должна быть такой же, иначе вы получите такие ошибки, как

    PACKAGENAME.Класс нельзя привести к PACKAGENAME.Класс, даже если класс имеет то же имя, что и в вашей программе (тест я пытался)