переменной класса представляет собой поле, объявленные с помощью ключевого слова статического в пределах объявления класса в (§8.3.1.1), или с или без ключевого слова статического в объявлении интерфейса (§9.3) ,
Переменная класса создается, когда ее класс или интерфейс подготовлен (§12.3.2) и инициализируется значением по умолчанию (§4.12.5). Переменная класса эффективно прекращает свое существование, когда ее класс или интерфейс выгружен (§12.7).
переменная экземпляра - это поле, объявленное в объявлении класса без использования ключевого слова static (§8.3.1.1).
Если класс Т имеет поле а именно переменную экземпляра, то новый экземпляр переменная а создается и инициализируется на значение по умолчанию (§4.12.5) как часть каждого вновь созданного объекта класса T или любого класса , который является подклассом T (§8.1.4). Переменная экземпляра фактически прекращает свое существование, когда объект, полем которого он является полем , больше не ссылается, после того, как была завершена любая необходимая доработка объекта (§12.6).
компоненты массива являются безымянные переменные, которые создаются и инициализируются значения по умолчанию (§4.12.5) всякий раз, когда новый объект, который создается массив (§10, §15.10). Элементы массива эффективно перестают существовать, когда массив больше не ссылается.
Параметры метода (§8.4.1) значения аргументов имени, переданные методу.
Для каждого параметра, объявленного в объявлении метода, при каждом вызове метода создается новый параметр . (§15.12). Новая переменная инициализируется значением соответствующего аргумента из вызова метода .Параметр метода эффективно прекращает свое существование , когда выполнение тела метода завершено.
Параметры конструктора (§8.8.1) значения аргументов имени, переданные в конструктор .
Для каждого параметра, объявленного в объявлении конструктора, новый переменная параметра создаются каждый раз, когда создание экземпляра класса выражения (§15.9) или явный вызов конструктора (§8.8.7) вызывает этот конструктор. Новая переменная инициализируется значением соответствующего аргумента из выражения создания или вызовом конструктора . Параметр конструктора эффективно прекращает существование , когда выполняется выполнение тела конструктора .
Параметр исключения создается каждый раз, когда исключение попадает на предложение catch инструкции try (§14.20).
Новая переменная инициализируется фактическим объектом, связанным с исключением (§11.3, §14.18). Параметр исключения эффективно прекращает свое существование, когда выполнение блока, связанного с уловом , завершено.
Локальные переменные объявлены локальными заявлениями о декларации переменных (§14.4).
Всякий раз, когда поток управления переходит в блок (§14.2) или для постановки (§14.14), новая переменная создается для каждой локальной переменной объявленной в локальной переменной оператора объявления сразу, содержащейся в , которые блокируют или для заявление.
Как видно из приведенных выше описаний, они не содержат той же сферы и, следовательно, необходимо дифференцировать.
я сказал, несмотря на их использование, но хорошо –
Это не вовлекают их использования. Если вы передаете параметр, вы его не инициализируете, то это другой тип переменной. – Troubleshoot