2009-02-06 6 views
6

Является ли null ключевым словом в Java?Является ли null ключевым словом Java?

+0

Почему этот вопрос -1? – Mystic

+4

, вероятно, потому, что для ответа Google потребовалось меньше времени, чем попросить об этом.Второй результат Google имеет ответ в сводке, вам даже не нужно будет щелкнуть ссылку. – DevinB

+0

Нет, это буквальный в Java.You может, что нуль [здесь] [1] [1]: http://stackoverflow.com/questions/2707322/what-is-null-in-java/7258515 # 7258515 –

ответ

46

Не соответствует Java Language Specification list of keywords. С другой стороны, это не компилируется:

int null = 10; 

В rules for identifiers указать, что:

Идентификатор является неограниченной длины последовательность букв и Java Java цифр, первая из который должен быть письмом Java . Идентификатор не может иметь одно и то же правописание (символ Юникода ) в качестве ключевого слова (§3.9), boolean literal (§3.10.3) или нулевой литерал (§3.10.7).

Я не уверен, что польза от этого не является ключевым словом, если быть честным.

+0

Lol, этот ответ подразумевает, что существуют реализации Java, принимающие null в качестве ключевого слова. –

+0

Gamecat, как я его читаю, он ясно говорит, что спецификация не делает _not_ считает null ключевым словом. – tehvan

11

Не keyword - null literal.

identifier (ой, нет, это не так)

+1

Это также не идентификатор, согласно http://java.sun.com/docs/books/jls/third_edition/html/lexical.html#40625 –

+0

Да, я понял по ошибке уже и исправил его ... –

1

истинного и ложные также являются литералы. Java trivia: const и goto - это ключевые слова.

6

нуль является буквальным, в том же смысле, что ложные, и '\ п' являются литералы. Это не «ключевое слово», технически, но это символьная строка, которая обрабатывается специально компилятором, если компилятор встречает его в исходном файле java.

Итак, нет, вы не можете назвать переменную «null». Лексический анализатор решит, что он не является идентификатором.

6

null - буква, аналогичная true и false в java. Это не ключевые слова, потому что это ценности чего-то. Поскольку null - значение ссылочной переменной, true - значение булевой переменной.

0

No. нуль не является ключевым словом в Java ..

0

его представляет собой особую ценность, но его не ключевое слово в Java и это не означает, что мы можем использовать его в качестве идентификатора ее запретной быть используется как идентификатор, и это очевидно, потому что у нас не может быть специального значения в качестве идентификатора, потому что компилятор будет обрабатывать это слово (null) как специальное значение, а не как идентификатор.