Это не глобальная переменная. У него есть доступ по умолчанию, поэтому он не виден глобально, и это элемент экземпляра, что означает, что он ограничен экземпляром SomeClass
. Ближайшим эквивалентом глобальной переменной в Java является открытое статическое поле в открытом классе. Даже в этом случае он является глобальным только в отношении загрузчика классов для класса контейнера, который вы используете - другой загрузчик классов, работающий в той же JVM и загружающий тот же класс контейнера, будет иметь отдельную статическую переменную.
Сказав все это, я лично не одобряю, чтобы поля были чем-то иным, кроме частного, для помощи инкапсуляции. (Конечно, это не дает вам самостоятельной инкапсуляции, но это только начало.) Поля являются частью реализации класса, который должен изменяться, не затрагивая кого-либо, полагаясь только на * 1006. * API класса.