powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Как влияет грамотное написание import
12 сообщений из 12, страница 1 из 1
Как влияет грамотное написание import
    #33967376
new_jabber
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброе время суток! У меня такой вопрос, вот пишу класс (не важно какой) и естественно есть там import:
Код: plaintext
1.
2.
3.
 import  javax.servlet.http.HttpServlet;
 import  javax.servlet.http.HttpServletResponse;
 import  javax.servlet.http.HttpServletRequest;

но можно написать и так:
Код: plaintext
1.
 import  javax.servlet.http.*;

Есть какая то разница, мне кажеться что во втором случае повышается ресурсоемкость приложения, прав ли я?
...
Рейтинг: 0 / 0
Как влияет грамотное написание import
    #33967435
Фотография peter6636
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
new_jabberДоброе время суток! У меня такой вопрос, вот пишу класс (не важно какой) и естественно есть там import:
Код: plaintext
1.
2.
3.
 import  javax.servlet.http.HttpServlet;
 import  javax.servlet.http.HttpServletResponse;
 import  javax.servlet.http.HttpServletRequest;

но можно написать и так:
Код: plaintext
1.
 import  javax.servlet.http.*;

Есть какая то разница, мне кажеться что во втором случае повышается ресурсоемкость приложения, прав ли я?
частично прав
...
Рейтинг: 0 / 0
Как влияет грамотное написание import
    #33967505
unicornmirage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
peter6636 new_jabberДоброе время суток! У меня такой вопрос, вот пишу класс (не важно какой) и естественно есть там import:
Код: plaintext
1.
2.
3.
 import  javax.servlet.http.HttpServlet;
 import  javax.servlet.http.HttpServletResponse;
 import  javax.servlet.http.HttpServletRequest;

но можно написать и так:
Код: plaintext
1.
 import  javax.servlet.http.*;

Есть какая то разница, мне кажеться что во втором случае повышается ресурсоемкость приложения, прав ли я?
частично прав

ресурсоемкость не повышается. при компиляции все используемые классы будут подставлены с полным их именем, включая пакет в котором они находятся.
...
Рейтинг: 0 / 0
Как влияет грамотное написание import
    #33967519
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще таким образом избегают возможные конфликты с одноименными классами в разных пакетах. Вот пример на пвсевдо-Java:
Код: plaintext
1.
2.
3.
 package  a;
 public   class  X {/* */}; 
 public   class  Y {/* */};

Код: plaintext
1.
2.
3.
 package  b;
 public   class  X {/* */}; 
 public   class  Z {/* */};

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
 package  c;
 import  a.*;
 import  b.*;  

 class  C {
  C {
   X x =  new  X(); // Неоднозначность. 
   Z z =  new  Z();
  }
}

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
 package  c;
 import  a.X;
 import  b.Z;  

 class  C {
  C {
   x =  new  X(); // Все в порядке.
   Z z =  new  Z();
  }
}

Ситуация больше теоретическая, но все же.
...
Рейтинг: 0 / 0
Как влияет грамотное написание import
    #33967535
он же
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почитаем что пишет Хорстманн и Корнелл.

Core Java™ 2 Volume I - Fundamentals, Seventh EditionThe java.util.* syntax is less tedious. It has no negative effect on code size. However, if you import classes explicitly, the reader of your code knows exactly which classes you use.

Core Java™ 2 Volume I - Fundamentals, Seventh EditionMost of the time, you just import the packages that you need, without worrying too much about them. The only time that you need to pay attention to packages is when you have a name conflict. For example, both the java.util and java.sql packages have a Date class. Suppose you write a program that imports both packages.

Core Java™ 2 Volume I - Fundamentals, Seventh EditionC++ programmers usually confuse import with #include. The two have nothing in common. In C++, you must use #include to include the declarations of external features because the C++ compiler does not look inside any files except the one that it is compiling and explicitly included header files. The Java compiler will happily look inside other files provided you tell it where to look.

In Java, you can entirely avoid the import mechanism by explicitly naming all classes, such as java.util.Date. In C++, you cannot avoid the #include directives.

The only benefit of the import statement is convenience. You can refer to a class by a name shorter than the full package name. For example, after an import java.util.* (or import java.util.Date) statement, you can refer to the java.util.Date class simply as Date.

The analogous construction to the package mechanism in C++ is the namespace feature. Think of the package and import statements in Java as the analogs of the namespace and using directives in C++.
...
Рейтинг: 0 / 0
Как влияет грамотное написание import
    #33967546
он же
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
От себя хочу добавить, что пишу .* или полное наименование классов по обстоятельствам (если больше одного класса из одного пакета - проще добавить .*), если только не использую sql-запросы в классе.
Тогда всегда добавляю import java.util.Date :)
...
Рейтинг: 0 / 0
Как влияет грамотное написание import
    #33967590
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LeonidvЕще таким образом избегают возможные конфликты с одноименными классами в разных пакетах. Вот пример на пвсевдо-Java:
Код: plaintext
1.
2.
3.
 package  a;
 public   class  X {/* */}; 
 public   class  Y {/* */};

Код: plaintext
1.
2.
3.
 package  b;
 public   class  X {/* */}; 
 public   class  Z {/* */};

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
 package  c;
 import  a.*;
 import  b.*;  

 class  C {
  C {
   X x =  new  X(); // Неоднозначность. 
   Z z =  new  Z();
  }
}

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
 package  c;
 import  a.X;
 import  b.Z;  

 class  C {
  C {
   x =  new  X(); // Все в порядке.
   Z z =  new  Z();
  }
}

Ситуация больше теоретическая, но все же.
Эту "теоретическую" ситуацию разрулит компилятор и сругнется.
Штоп не заморачиваться надо юзать ИДЕ(Ю).
...
Рейтинг: 0 / 0
Как влияет грамотное написание import
    #33967647
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При совпадениях имен классов в разных пакетах можно также применять полное написание имени класса:

Код: plaintext
1.
a.X x =  new  a.X();
...
Рейтинг: 0 / 0
Как влияет грамотное написание import
    #33967757
gafudo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С совпадением имен классов в разных package ситуация жизненная, а не теоретическая.

На производительность никак не влияет написание import, говорят в ранних версиях типа 1.0 еще была какая-то разница.

Имхо, хороший стиль - писать полностью имя класса без *. Если полазить по исходникам opensource, в основном везде так.

Для себя понял, что написание полного имени очень помогает при рефакторинге. Сразу видно от чего класс зависит. Я часто занимаюсь анализом связей между моими классами и пакетами.

Конечно, надо использовать IDE. Сейчас везде можно задать стиль import и среда все сделает сама. И предупредит, если что.
...
Рейтинг: 0 / 0
Как влияет грамотное написание import
    #33967762
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KachalovПри совпадениях имен классов в разных пакетах можно также применять полное написание имени класса:

Код: plaintext
1.
a.X x =  new  a.X();

нужно а не можно. чувствуете разницу?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
 import  java.sql.*;
 import  java.util.*;
 class  test 
{
	 public   static   void  main(String[] args) 
	{
		Date d;
	}
}
попробуйте скомпилить.
...
Рейтинг: 0 / 0
Как влияет грамотное написание import
    #33968080
Kachalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Timm
нужно а не можно. чувствуете разницу?

- я это собственно написал как добавление к посту Leonidv, где именно можно (полный import там решил проблему).
А разницу я уже семь лет как чувствую :)
...
Рейтинг: 0 / 0
Как влияет грамотное написание import
    #33969254
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gafudoИмхо, хороший стиль - писать полностью имя класса без *. Если полазить по исходникам opensource, в основном везде так.

ИМХО нет. В более-менее наполненном логикой классе таблица импорта займет всю страницу (какая-нибудь swing-овая формочка). А со всякими com.google.gwt.user.client.ui.ClickListener lstnr = new com.google.gwt.user.client.ui.ClickListener(){...} код становится вообще невозможно читать.

Исходники OpenSource пишутся преимущественно в Eclipse, как немного более распространенной среде из бесплатных. А там по дефолту настроена * после 99 классов. Лично я изменяю эту цифру на 5.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Как влияет грамотное написание import
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]