Сравните статическую адресацию и импорт для расширений / агрегатов - PullRequest
3 голосов
/ 25 сентября 2011

Есть ли разница между использованием

public ClassName extends some.package.Class implements another.package.Interface {}

и

import some.package.Class;
import another.package.Interface;

public ClassName extends Class implements Interface {}

когда речь идет о производительности, совместимости и т. Д.

Ответы [ 2 ]

4 голосов
/ 25 сентября 2011

Разницы нет.Байт-код идентичен.Все это происходит во время компиляции, это отрицательно сказывается на производительности.Вы должны принять это решение, основываясь исключительно на вашей оценке читабельности.

1 голос
/ 25 сентября 2011

Это функция времени компиляции, поэтому она никак не связана с производительностью.С точки зрения совместимости, единственная идея состоит в том, что если у вас есть 2 пакета с классами с именем Entity и есть модуль, в котором вы хотите использовать оба из них, наличие import ... означает, что только одна из этих сущностей будет доступна, если онаБезусловное имя.Но это больше для обслуживания, чем для совместимости.

...