Android Studio - почему оператор импорта не используется / не нужен?

В проекте библиотеки 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, поскольку он конфликтует с текущим именем класса.

person Weishi Z    schedule 12.02.2016    source источник
comment
Что произойдет, если вы не укажете оператор import?   -  person President James K. Polk    schedule 12.02.2016
comment
@JamesKPolk Ничего не изменится, если я удалю оператор импорта.   -  person Weishi Z    schedule 12.02.2016
comment
Хорошо, когда я удаляю импорт, он компилируется без ошибок.   -  person President James K. Polk    schedule 12.02.2016
comment
@JamesKPolk О, вы имели в виду ошибку конфликта имен. Я снова попытался удалить импорт, и ошибка исчезла. (интересно, почему я не узнал раньше) Спасибо, что указали.   -  person Weishi Z    schedule 12.02.2016


Ответы (1)


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

person Doug Stevenson    schedule 12.02.2016