В спецификации языка перечислены 7 типов переменных:
- переменные класса - объявлены как статические в объявлении класса
- переменные экземпляра - объявлено в объявлении класса без использования статического ключевого слова
- компоненты массива - как
i[2]
, когда мы создаем массив как int[] i= new int[5]
- методпараметры - значения аргументов имени, передаваемые методу
- параметры конструктора - значения аргументов имени, передаваемые конструктору
- параметр обработчика исключений - создается каждый раз, когда исключение перехватывается
- локальные переменные - объявляется в блоке (
{ }
) или для оператора
Вы можете использовать все типы переменных(кроме # 4) в конструкторе:
class Demo {
static int demo1 = 0; // class variable
int[] demo2 = new int[5]; // instance variable
Demo(int demo3) { // constructor parameter
try {
int demo4 = // local variable
demo2[2]; // array component
} catch(RuntimeException demo5) { // exception-handler parameter
}
demo2 = new int[]{Demo.demo1}; // using class and instance variable
// in a constructor
}
int method(int demo6) { // method parameter
}
}
Ключевое слово abstract
недопустимо для объявления переменных.