Технически компилятор налагает одинаковые ограничения на имена как переменных, так и классов, методов, и всего остального. Эти имена обобщенно называются идентификаторы.
Ограничений всего три:
1. Имя целиком не должно совпадать с зарезервированным словом;
2. Первый символ должен проходить проверку методом
Character.isJavaIdentifierStart()
;3. Остальные символы должны проходить проверку
Character.isJavaIdentifierPart()
.На практике проверки означают, что имя должно состоять из таких символов Unicode, как:
• Буквы (разных языков)
• Символы валют (такие как
$
)• Соединительные символы (такие как
_
)• Диакритика (combining mark, non-spacing mark)
• Методы, проходящие
Character.isIdentifierIgnorable()
(непечатаемые символы, в идентификаторе игнорируются компилятором)• Цифры, числовые символы (такие как римские числа)
Последний пункт недопустим для первого символа имени. Тип конкретного символа можно узнать методом
Character.getType()
.Интересно зарезервированное слово
var
. Оно стоит особняком от других ключевых слов, потому что является зарезервированным только в контексте типа. Использовать var
в качестве имени переменной можно.