Я новичок в среде OSGI и пытаюсь получить доступ к переменной класса 'Derived' publicVariable из другого класса Derived2, например Derived.publicVariable, но publicVariable всегда показывает ноль. Я действительно ценю, если кто-то может помочь мне с этим.
Спасибо
Файл манифеста - Derived2
Require-Bundle:com.xxxxxx.Derived1
Java-код
abstract class Base {
protected Vector <String> supportedCommands = new Vector <String> ();
protected abstract void initialiseCommands();
}
class Derived extends Base {
private static Derived derivedPlugin = null;
public Derived()
{
derivedPlugin = this;
}
public static Derived getPlugin()
{
return derivedPlugin;
}
public String publicVariable = null;
protected void initialiseCommands()
{
publicVariable = "someData";
System.out.println("Derived" + publicVariable);
}
}
class Derived2 extends Base {
protected void initialiseCommands()
{
supportedCommands.add(Derived.getPlugin().publicVariable);
System.out.println("IMRSAUtilitiesPlugin" +supportedCommands);
}
Также приведена ссылка ниже, которая является аналогичной проблемой, но я не использую статические переменные, это просто открытая переменная.
как использовать объект Singleton в другом загрузчике классов ....?