У меня есть куча классов, расширяющих абстрактный базовый класс.Каждый подкласс принимает массив как в конструкторе (разной длины в зависимости от класса).Эти классы могут быть написаны другими людьми.
Как лучше всего определить длину массива, в котором нуждается класс?Я мог бы: (A) потребовать, чтобы у каждого производного класса был статический метод, возвращающий длину.Однако базовый класс не может обеспечить это, так как абстрактные статические методы не работают в Java.(B) Каждый производный класс имеет конструктор без аргументов, и я создаю такие классы только для того, чтобы иметь возможность вызывать метод countParameters (), который I может принудительно применить из базового класса.Это кажется «грязным», так как я не заинтересован в создании такого объекта, но мне нужна только некоторая информация о нем.
Причина в том, что я создаю графический интерфейс, который дает пользователю возможность создавать экземплярыПроизводные классы, но каждый производный класс принимает различное количество параметров.То есть мне нужно знать, как нарисовать графический интерфейс, прежде чем я смогу создать классы.
РЕДАКТИРОВАТЬ: я мог бы просто потребовать, чтобы каждый класс Derived имел закрытый конструктор без аргументов и используя рефлексию, которую я могу вызватьметод countParameters ().
EDIT2: На самом деле меня интересует, каковы имена параметров.То есть, если у класса Derived есть конструктор
public Derived(double name1,double name2,...)
, мне нужен способ для генерации массива String []
{name1,name2,...}
Я думаю, это было бы невозможно сделать без созданияэкземпляр класса, но для того, чтобы пользователь мог создать такой класс, ему / ей нужны имена параметров!Момент 22.