статические переменные являются общими для всех объектов класса.Здесь, в вашем примере, для каждого объекта Member , который вы создаете, вы получите объекты, которые имеют свои собственные значения iNumVertices .Когда вы используете static с переменной, для каждого объекта в Member используется только одна переменная.Методы static работают одинаково - они используются всеми объектами.
Поскольку статические переменные / методы являются общими для всех объектов, нет необходимости создавать объект класса для доступа к этим переменным / методам.
Нестатические переменные, такие как iNumVertices , принадлежат объекту класса.К ним нельзя получить доступ без создания объекта.Поэтому, когда вы обращаетесь к нестатической переменной из статического контекста (здесь метод main ), тогда java не будет знать, к какому объекту iNumVertices вы пытаетесь обратиться.Отсюда и ошибка.
Либо сделайте iNumVertices статическими, либо обратитесь к ней, создав объект Member
Member m = new Member();
m.iNumVertices = 0;