У меня есть полдюжины классов, которые расширяют один и тот же абстрактный класс. Абстрактный класс имеет статическую переменную, указывающую на некоторый код JNI, который я хочу загрузить только один раз за экземпляр классов.
Из того, что я понимаю, это приводит к тому, что в одном экземпляре этой статической переменной создается экземпляр, но я хочу, чтобы каждый из расширяющихся классов имел свой собственный статический экземпляр переменной, которая уникальна для данного дочернего класса. Я хочу написать код в своем абстрактном классе, который модифицирует и/или выпускает абстрактный класс. Можно ли одновременно выполнять обе эти вещи?
Итак, в качестве примера можно написать абстрактную панель классов с переменной foo и методом printFoo, который печатает содержимое foo. Затем я создаю экземпляр для fooBar1, fooBar2 и fooBar3, каждый из которых расширяет класс bar и инициализирует foo для разных значений в статических блоках. Если я вызываю foobar1.printFoo
, я хочу напечатать статическое значение foo, инициализированное конструктором fooBar1.
Можно ли это сделать в java?