2009-02-06 18 views
6

Czy null jest słowem kluczowym w języku Java?Czy null to słowo kluczowe Java?

+0

Dlaczego to jest pytanie -1? – Mystic

+4

prawdopodobnie dlatego, że znalezienie odpowiedzi w Google zajęłoby mniej czasu niż pytanie.Drugi wynik w Google ma odpowiedź w podsumowaniu, nie trzeba nawet klikać linku. – DevinB

+0

Nie jest to dosłowne w Java.You może co null jest [tutaj] [1] [1]: http://stackoverflow.com/questions/2707322/what-is-null-in-java/7258515 # 7258515 –

Odpowiedz

46

Nie zgodnie z Java Language Specification list of keywords. Z drugiej strony, to nie skompilować:

int null = 10; 

The rules for identifiers określić, że:

Identyfikator jest nieograniczoną długość -sekwencja liter Java i Java cyfr, pierwsza która musi być literą Java o numerze . Identyfikator nie może mieć tej samej pisowni (ciąg znaków Unicode ) jako słowa kluczowego (§3.9), boolowskiego dosłownego (§3.10.3) lub zerowego literału (§3.10.7).

Nie jestem pewien, co to jest korzyść z tego, że nie jest to słowo kluczowe, szczerze mówiąc.

+0

Lol, ta odpowiedź oznacza, że ​​istnieją implementacje Java, które akceptują wartość null jako słowo kluczowe. –

+0

Gamecat, sposób w jaki go czytam, mówi wyraźnie, że specyfikacja _nie_ uważa nic za słowo kluczowe. – tehvan

11

Nie jest to keyword - null literal.

identifier (oops, nie to nie jest)

+1

To także nie jest identyfikator, zgodnie z http://java.sun.com/docs/books/jls/third_edition/html/lexical.html#40625 –

+0

Tak, zdałem sobie sprawę przez pomyłkę już i naprawiłem ... –

1

prawdziwej i fałszywe są również literały. Java: const i goto to słowa kluczowe.

6

zerowy jest dosłownym, w tym sensie, że fałszywe, i '\ n są literałami. Nie jest to "słowo kluczowe", ale jest to ciąg znaków, który traktowany jest przez kompilator, jeśli kompilator napotka go w pliku źródłowym java.

Tak, nie, nie można nazwać zmiennej "null". Analizator leksykalny zdecyduje, że nie jest to identyfikator.

6

null jest dosłownie podobny do true i false w języku Java. To nie są słowa kluczowe, bo takie są wartości czegoś. Ponieważ null jest wartością zmiennej odniesienia, true jest wartością zmiennej binarnej.

0

nr zerowy nie jest to słowo kluczowe w java ..

0

jego stanowi szczególną wartość, ale nie jest to słowo kluczowe w Javie i to nie znaczy, że możemy użyć go jako identyfikator jego ograniczonym być używany jako identyfikator i jest to oczywiste, ponieważ nie możemy mieć specjalnej wartości jako identyfikatora, ponieważ kompilator potraktuje to słowo (null) jako wartość specjalną, a nie jako identyfikator.