Что такое переменная-член? Является ли переменная-член и переменная экземпляра одинаковыми?
Что такое переменная-член? Является ли переменная-член и переменная экземпляра одинаковыми? Переменная экземпляра - это переменная, объявленная в классе и доступная по всему коду, верно?
2 ответа
Переменные экземпляра и переменные класса обычно называются переменными-членами.
См. Объявление переменных членов:
Существует несколько видов переменных:
- Переменные-члены в классе - они называются полями.
- Переменные в методе или блоке кода - они называются локальными переменными.
- Переменные в объявлениях методов - они называются параметрами.
И переменные:
Язык программирования Java определяет следующие виды переменных:
Переменные экземпляра (нестатические поля) Технически говоря, объекты хранят свои отдельные состояния в "нестатических полях", то есть в полях, объявленных без ключевого слова static. Нестатические поля также известны как переменные экземпляра, потому что их значения уникальны для каждого экземпляра класса (другими словами, для каждого объекта); текущая скорость одного велосипеда не зависит от текущей скорости другого.
Переменные класса (статические поля) Переменная класса - это любое поле, объявленное с модификатором static; это говорит компилятору, что существует ровно одна копия этой переменной, независимо от того, сколько раз был создан экземпляр класса. Поле, определяющее количество передач для конкретного вида велосипеда, может быть помечено как статическое, поскольку концептуально одинаковое количество передач будет применяться ко всем экземплярам. Код статический int numGears = 6; создаст такое статическое поле. Кроме того, можно добавить ключевое слово final, чтобы указать, что число передач никогда не изменится.
Локальные переменные Подобно тому, как объект сохраняет свое состояние в полях, метод часто сохраняет свое временное состояние в локальных переменных. Синтаксис объявления локальной переменной аналогичен объявлению поля (например, int count = 0;). Не существует специального ключевого слова, обозначающего переменную как локальную; это определение целиком исходит из места, в котором объявлена переменная - между открывающей и закрывающей скобками метода. Таким образом, локальные переменные видны только тем методам, в которых они объявлены; они не доступны из остальной части класса.
Параметры Вы уже видели примеры параметров, как в классе Bicycle, так и в основном методе "Hello World!" приложение. Напомним, что подпись для метода main является публичной статической void main(String[] args). Здесь переменная args является параметром этого метода. Важно помнить, что параметры всегда классифицируются как "переменные", а не "поля". Это относится и к другим конструкциям, принимающим параметры (таким как конструкторы и обработчики исключений), о которых вы узнаете позже в этом руководстве.