Для меня это звучит несколько двусмысленно - возможно, можно утверждать, что переменные состояния по умолчанию c являются неотъемлемым состоянием объекта, одинаковым для всех объектов данного типа.
Лично я не думаю, что переменные stati c составляют состояние объекта . Эта цитата из Oracle Java учебника , кажется, поддерживает мое понимание.
Иногда вам нужны переменные, которые являются общими для всех объектов. Это достигается с помощью модификатора stati c. Поля, которые имеют в своем объявлении модификатор stati c, называются полями stati c или переменными класса. Они связаны с классом, а не с любым объектом . Каждый экземпляр класса совместно использует переменную класса, которая находится в одном фиксированном месте в памяти. Любой объект может изменить значение переменной класса, но переменными класса также можно манипулировать, не создавая экземпляр класса.
Например, предположим, что вы хотите создать несколько объектов Bicycle и назначить каждому серийный номер. число, начиная с 1 для первого объекта. Этот идентификационный номер уникален для каждого объекта и поэтому является переменной экземпляра. В то же время вам нужно поле для отслеживания того, сколько объектов Bicycle было создано, чтобы вы знали, какой идентификатор назначить следующему. Такое поле относится не к какому-либо отдельному объекту, а к классу в целом .
С учетом сказанного переменные stati c могут отслеживать состояние общее состояние приложения, о котором говорит другой вопрос, основанный на тех же книгах: Состояние объекта в публикации c stati c поля