2010-09-30 2 views
2

Может ли кто-нибудь сказать мне разницу между импортом, который мы используем в java, и тем, что в объективе C?Разница между импортом в java и объекте C

+0

dup: http: //stackoverflow.com/questions/439662/what-is-the-difference-between-import-and-include-in-objective-c –

+1

@org: um, нет, этот вопрос говорит о '# import' и' # include' только в Obj-C. В этом обсуждается «импорт» в Java vs '# import' в Obj-C. – BoltClock

+1

@ BoltClock - единорог, я извиняюсь, –

ответ

3
  • В Java import long.package.name.Foo; сообщает компилятору, что в любое время Foo появляется как аа имя класса в текущем исходном файле, это на самом деле означает long.package.name.Foo - так что все import действительно делает это позволяет писать более короткий исходный код. Поиск определений классов выполняется с помощью соглашения о том, что имена классов соответствуют именам файлов, а имена пакетов соответствуют иерархиям каталогов.

  • В Objective C, #import заявление фактически заменяется содержимым импортируемого файла препроцессором, если этот файл не уже импортирован (это разница между #import и старой #include директивы).

+0

Означает ли это, что в Java вместо того, чтобы писать «long.package.name.Foo» для представления Foo, импорт помогает нам в ссылке на него в ближайшее время. – Krishnan

+1

@ Кришнан: Да, это именно то, что делает импорт. –

+1

, и это все, что он делает. Никакие магические побочные эффекты (например, использование 'Perl '), например, могут быть осторожными. – Thilo

1

#import вариант (который проверяет дублирование) #include, которые только результаты в содержании включаемого файла, вставленный в исходном файле.

Оператор импорта Java сообщает компилятору, где искать классы (и другие вещи), которые не соответствуют их полному имени в исходном коде.