Eclipse Java-недопустимое имя пакета-зарезервированные слова в имени пакета

Я нахожусь в середине проекта android и пытался создать в нем новый пакет.

com.mycompany.myprojectname.new

Ну, Eclipse не позволяет мне создать его и показывает эту ошибку:

недопустимое имя пакета. "new" не является допустимым идентификатором Java

Я никогда не знал, что имя пакета зарезервировано словами, которые мы не можем использовать. Мои вопросы:

  1. это затмение? или вещь Java? Я попробовал чистую Java проект (не Android), просто чтобы проверить, но там также я получил ту же ошибку.
  2. какие другие зарезервированные слова, которые не допускаются?
  3. есть ли какие-либо документы об этом?

3 ответов


Да, это общая вещь Java.

на список зарезервированных слов можно найти здесь. Они:

abstract  continue    for         new         switch
assert    default     goto        package     synchronized
boolean   do          if          private     this
break     double      implements  protected   throw
byte      else        import      public      throws
case      enum        instanceof  return      transient
catch     extends     int         short       try
char      final       interface   static      void
class     finally     long        strictfp    volatile
const     float       native      super       while

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

авторитетный источник (как всегда) спецификация языка Java, а именно:


посмотреть документы здесь:

http://docs.oracle.com/javase/tutorial/java/package/namingpkgs.html

в некоторых случаях имя домена интернета может быть недопустимым пакетом имя. Это может произойти, если имя домена содержит дефис или другое специальный символ, если имя пакета начинается с цифры или другие символ, который является незаконным для использования в качестве начала имени Java, или если имя пакета содержит зарезервированную Java ключевое слово, например, "int".


new является ключевым словом Java. Используй вместо него какое-нибудь другое слово.