Не понял последнюю задачу, хоть и решил. В классе Solution объявили статические переменные city и population. Эти переменные видны всем методам этого класса. Внутри класса можем обращаться к ним по их именам без указания класса. Тогда почему в методах мы снова объявляем переменные такого типа и с таким именем? И почему здесь нет ошибки? Из теории: "Переменные класса - это переменные, объявленные не в методе, а в классе. К ним можно обращаться из любого метода класса. Грубо говоря переменные класса - это общие переменные для всех методов класса". В примере со Storage понятно почему мы указываем класс с точкой, т.к. обращаемся из другого класса. А в нашем примере с Solution не понятно, т.к. всё внутри одного класса.