Скомпилировать по ссылке динамически загружаемый класс.JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Скомпилировать по ссылке динамически загружаемый класс.

Сообщение Anonymous »

Предположим, что у меня есть абстрактный класс, назовем его AbstractClass. Предположим,

Код: Выделить всё

public abstract AbstractClass {
public abstract void F();
}
Предположим, у меня есть класс, назовем его ClassA. ClassA расширяет AbstractClass. ClassA сохраняется в папке. (Он должен быть загружен в путь к классам.) Теперь предположим, что я пишу новый класс в программе,
и я хочу, чтобы класс B мог ссылаться на класс A. Что-то вроде

Код: Выделить всё

public class ClassB extends AbstractClass {

ClassA A = new ClassA();

public void F() {
A.F();
}

}
Теперь у меня не возникло проблем с использованием загрузчика классов для получения класса A и его динамического использования. У меня также не было проблем с написанием такого класса, как ClassA, динамически на основе пользовательского ввода, компиляцией его в программе (с использованием ecj.jar), а затем его загрузкой и вызовом из него методов.

Однако я не могу понять, как ссылаться на динамически загружаемый класс в классе, который я сейчас пишу и динамически компилирую. Не знаю как написать импорт и т.д. Загружаю класс А и помещаю

импорт класса А;

в файл classB.java не помогает.

Это мой первый вопрос на StackOverflow (давний читатель), так что будьте поосторожнее со мной. Заранее спасибо.

--

Контекст: программа, использующая распределения вероятностей, введенные пользователем. У меня есть абстрактный класс AbstractDistribution, который имеет абстрактные методы для CDF, PDF, обратного CDF и т. д. До сих пор это работало хорошо, динамически пишу компилируемые и загружаемые дистрибутивы, расширяющие AbstractDistribution, получая из них newInstance() и используя их как любые другие. другой класс. Однако, если я написал и динамически загрузил дистрибутив Dist1, я хочу иметь возможность написать Dist2, который может вызывать (например) PDF-файл Dist1.

Подробнее здесь: https://stackoverflow.com/questions/991 ... aded-class
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»