2016-02-12 2 views
1

В проекте студийной библиотеки Android приведена следующая часть кода.Android Studio - почему импортная инструкция не используется/не нужна?

package my.package.a; 

import my.package.b.Test; //this shows unused, why?? 

public class **Test** extends my.package.b.Test { //"Test is already defined in this compilation unit." why? 
    ... 
} 
  1. extends my.package.b.Test эта линия использует пакет B, не так ли? поэтому почему оператор импорта показывает, что он не используется?

  2. Эти два класса Test находятся в разных пакетах, почему у этого есть конфликты имен?

Решение:

  1. См полное имя и удалить import заявление.
  2. Невозможно импортировать my.package.b.Test, поскольку он находится в конфликте с текущим именем класса.
+2

Что произойдет, если вы оставите заявление 'import'? –

+0

@JamesKPolk При удалении оператора импорта ничего не меняется. –

+0

Ну, когда я удаляю импорт, он компилируется без ошибок. –

ответ

2

Импорт не нужен здесь, потому что вы уже звоните my.package.b.Test по фамилии. Если вы используете полностью квалифицированную ссылку на символ, нет необходимости ее импортировать.

Смежные вопросы