У вас есть пара проблем.
main()
- статический метод; он не может получить доступ к любым нестатическим переменным класса AnalyzerDriver
. properties
является частной переменной экземпляра.
После этого вы пытаетесь получить доступ к закрытой переменной экземпляра (analyzers
) снаружи экземпляра (analyzerDriver
), чтобы добавить свои драйверы.
Возможно, вы хотите создать публичный метод в analyzerDriver
для добавления Analyzer
экземпляров.
public void addAnalyzer(Analyzer a)
{
analyzers.add(a);
}
Но это все еще оставляет проблему ваших свойств. Это действительно зависит от вашего дизайна и от того, что вы делаете, но я бы, вероятно, реализовал AnalyzerFactory (шаблон Factory), который загрузил свойства и затем создал бы ваши объекты Analyzer для вас:
AnalyzerFactory factory = new AnaylyzerFactory();
Analyzer a = factory.get("SummaryReport");
analyzerDriver.addAnalyzer(a);