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