Идентификаторы в Java

Правила наименования идентификаторов

Технически, идентификаторы это «слова» состоящие только из символов юникода, цифр, символов валют и соединяющих символов, таких как подчеркивание.
Идентификаторы могут содержать символы кириллицы и другие национальные символы, таким образом, технически, переменные можно называть русскими словами, однако это совсем не приветствуется.

  • идентификаторы должны начинаться с буквы, доллара «$» или с подчеркивания «_»
  • идентификаторы не могут начинаться цифры!
  • после первого символа идентификаторы могут содержать любую комбинацию из букв, символов валют (доллара), подчеркиваний и/или цифр
  • длина идентификаторов не регламентируется
  • идентификаторы регистрочувствительны. Для компилятора name и Name это совершенно разные идентификаторы.

Примеры вполне легальных идентификаторов:

int _a;
int $c;
int _______2_w;
int _$;
int this_is_a_very_detailed_name_for_an_identifier;

Примеры нелегальных идентификаторов:

int :b; // двоеточие нельзя
int -d; // тире нельзя
int e#; // решётку нельзя
int .f; // точку нельзя
int 7g; // начинать с цифры нельзя

Список ключевых слов Java, их нельзя использовать в качестве идентификатора:

abstractbooleanbreakbytecasecatch
charclassconstcontinuedefaultdo
doubleelseextendsfinalfinallyfloat
forgotoifimplementsimportinstanceof
intinterfacelongnativenewpackage
privateprotectedpublicreturnshortstatic
strictfpsuperswitchsynchronizedthisthrow
throwstransienttryvoidvolatilewhile
assertenum

Соглашения Oracle по наименованию идентификаторов Java

Классы и интерфейсы

  • классы должны быть существительными
  • названия должны начинаться с Большой буквы. Если несколько слов, то каждое слово с большой буквы (так называемый CamelCase): User, Account, PrintWriter
  • интерфейсы должны быть прилагательными: Runnable, Serializable

Методы

  • первое слово с маленькой буквы, затем все слова с большой
  • в названии, как правило, указывается какой-то действие над существительным
  • примеры: getBalance, doCalculation, setCustomerName

Переменные

  • первое слово с маленькой буквы, затем все слова с большой, подобно названию методов
  • существительное в единственном числе или во множественных числах
  • название должно быть короткое, осмысленное и благозвучное
  • примеры: buttonWidth, accountBalance, myString, userName

Константы

  • константы это статичные и финальные поля классов (static final)
  • могут иметь различный уровень доступа
  • названия в верхнем регистре
  • слова разделяются символами подчеркивания
  • примеры: MIN_HEIGHT, MAX_VALUE, VERY_LONG_NAMED_CONSTANT