패키지를 가져 와서 프로그램을 만들 때 사용할 수있는 많은 코딩 된 클래스에 액세스 할 수 있다는 것을 알고 있습니다. 그러나 여러 기능을 사용할 수 있다면 모든 기능을 가져 오는 것이 가장 좋습니다. 나는 수천 가지 수입품이 있다는 것을 알고 있으며 이렇게하는 것이 흔하지 않다는 것을 안다. (나는 그것을하는 사람은 모르지만 어쩌면 내가 틀렸다는 것을 알고있다.) 그러나 왜 사람들은 모든 것을 수입하지 않는가? 프로그램이 너무 느려 집니까? 아니면 그냥 비효율적입니까? 나는 단지 궁금하다. 감사.모든 가져 오기를 사용하지 않는 이유는 무엇입니까?
답변
사전에 모든 것을 가져올 필요가 없습니다; 이 (즉, 동일한 기능의 이름 등 살아 각 패키지 (= 쉽게 접근)
- 은 프로그램을 느리게), 또는 적어도 만들 마지막은 가능 하나를로드하고 이전 것들은 당신이 프로그램
- 것은 위의 이유로 충돌에 취약 할 수 많은 메모리를 사용을 다시 시작
- 많은 시간마다 시간을 마스크 할
이 목록을 확장 할 수 있습니다. 당신의 intentions.ALWAYS가 표시되지 않습니다 읽는 사람이 기억하기 때문에
임포트는 런타임에 아무 부분도 재생하지 않으며 컴파일 시간에만 프로그램의 속도에 영향을주지 않습니다. 예 : 바이트 코드에서 사용 된 가져 오기를 정확하게 재구성 할 수는 없습니다. –
@PeterLawrey 컴파일을 필요로하는 프로그램에 대해서는 사실이지만, 모든 패키지를 임포트하는 것은 R, Python, PHP 등과 같은 해석 언어의 속도에 분명히 영향을 미친다. –
그러나 [java]는 태그가 붙어있어서 언급하는 작업이다. –
내가 생각할 수있는 속도 외에 몇 가지 이유가있다 :
- 빨리 누군가 사용하고 어떤 파일을 읽는을 표시 할 수 있습니다 수입의 목록을보고. 모든 것을 가져 오면 그 능력을 잃게됩니다.
- 오류를 일으킬 이름 충돌이 있습니다. 예를 들어 this question을 참조하십시오.
- 현대의 IDE는 정말 쉽습니다 수요에 패키지를 가져올 수 있도록, 그래서 모든 패키지를 가져 오기
그것은 코드를 읽을 수 있습니다 : "코드가 두 번 어쩌면,하지만 수백 배는 사람이 읽고, 한 번 작성 예 :.
에서 안드로이드 SDK에는 같은 이름을 가진 클래스가 있지만 다른 패키지에서 온 것입니다 .GPS 위치 관리자 또는 뭔가라고 생각합니다 .무엇이든지 ... 다른 프로그래머가 어려움을 겪을 수 있습니다. 가져 오기를 생각하거나 수동으로 확인해야하기 때문에 어려울 수 있습니다.
저는 고급 프로그래머는 아니지만 출력 프로그램이 더 클 수 있다고 생각합니다.
- 1. EF4에서 함수 가져 오기를 지원하는 메소드를 생성하지 않는 이유는 무엇입니까?
- 2. java.util. *과 같은 와일드 카드 가져 오기를 사용하지 않는 이유는 무엇입니까?
- 3. NSLock을 사용하지 않는 이유는 무엇입니까?
- 4. Eclipse 컨텐츠 보조가 정적 가져 오기를 사용하지 않는 이유
- 5. GROUP_CONCAT을 사용하지 않는 이유는 무엇입니까?
- 6. Emacs를 사용하지 않는 이유는 무엇입니까?
- 7. SubmitChanges를 사용하지 않는 이유는 무엇입니까?
- 8. typekit을 사용하지 않는 이유는 무엇입니까?
- 9. '커피'명령을 사용하지 않는 이유는 무엇입니까?
- 10. Eclipse java에서 가져 오기를 사용하지 않습니다.
- 11. Drupal이 CSS에서 가져 오기를 사용하지 않도록하려면 어떻게합니까?
- 12. IntelliJ가 가져 오기를 원하지 않습니다.
- 13. Mockito 메소드의 정적 가져 오기를 사용해야하는 이유는 무엇입니까?
- 14. CSS 재설정은 모든 요소를 포함하도록 '*'를 사용하지 않는 이유는 무엇입니까?
- 15. 모든 앱에서 PreferenceManager.setDefaultValues (readAgain = true)를 사용하지 않는 이유는 무엇입니까?
- 16. 열을 사용할 때 크롬이 모든 너비를 사용하지 않는 이유는 무엇입니까?
- 17. 모든 핵심 데이터 작업에 privatecontext를 사용하지 않는 이유는 무엇입니까?
- 18. rt.jar에있을 때이 클래스를 사용하지 않는 이유는 무엇입니까?
- 19. CMFCMenuBar가 가속기 테이블을 사용하지 않는 이유는 무엇입니까?
- 20. Properties 대신 ResourceBundle을 사용하지 않는 이유는 무엇입니까?
- 21. 콜백 함수를 사용하지 않는 이유는 무엇입니까?
- 22. WPF에서 IDisposable을 사용하지 않는 이유는 무엇입니까?
- 23. 기존 글꼴을 사용하지 않는 이유는 무엇입니까?
- 24. Android : startManagingCursor를 사용하지 않는 이유는 무엇입니까?
- 25. PHP, 왜? : 연산자를 사용하지 않는 이유는 무엇입니까?
- 26. MongoDB가 올바른 색인을 사용하지 않는 이유는 무엇입니까?
- 27. loadURIWithFlags가 전달하는 charset을 사용하지 않는 이유는 무엇입니까?
- 28. 게으른로드 관계에 @BatchSize를 사용하지 않는 이유는 무엇입니까?
- 29. Qt가 예외 처리를 사용하지 않는 이유는 무엇입니까?
- 30. 글꼴 크기에 백분율을 사용하지 않는 이유는 무엇입니까?
[Java 가져 오기 명령문과 함께 와일드 카드를 사용하는 이유는 무엇입니까?] (http://stackoverflow.com/questions/147454/why-is-using-a-wild-card-with-a-java -import-statement-bad) – erolkaya84
이름이 같지만 패키지가 다른 두 개의 클래스가있는 경우를 생각해 보셨습니까? –