답변
Java 패키지는 중첩되지 않습니다.
때import java.awt.*
, 당신은 단지 패키지
java.awt
에있는 모든 클래스와 인터페이스를 가져 - 당신은
java.awt.event
로
java.awt
아래에있는 모든 패키지를 가져 오기
하지됩니다.
패키지가 중첩되어있는 것처럼 보입니다 (즉, 인 "서브 패키지"인 java.awt.event
인 것처럼 보입니다). 실제로는 그렇지 않습니다. java.awt
과 java.awt.event
을 이름에 공통적 인 부분이있는 서로 관련이없는 두 개의 서로 다른 패키지로 간주해야합니다.
첫 번째 유형은 java.awt 패키지 (하위 패키지 제외)에서 가져 오기 유형이고 다른 패키지는 java.awt.event (다른 패키지에서는 가져올 수 없음)에서만 가져 오기 유형입니다.
Java 패키지가 계층 구조로 구성 될 수 있지만 가져 오기 문은 "보수적"인 경향이 있습니다. 패키지 내에서 모든 유형을 가져 오면 해당 수준에서만 구체적으로 가져옵니다. 계층의 하위 수준
나는 그이면의 이유가 가짜 수입을 피하는 것이라고 생각한다. 의존성, 모호함을 피하기 위해 가능한 한 최소한의 것을 가져 오는 것이 좋습니다. 예를 들어 이름에 충돌하는 이름으로 새 클래스가 패키지에 추가 된 경우 어떻게됩니까? 다른 패키지?). 따라서 Eclipse를 사용하여 가져 오기를 구성 할 경우 별표가있는 행을 의미하는 경우에도 실제로 별표 버전의 특정 import 문을 추가합니다. 하위 패키지의 모든 것을 가져 오는 것은 더 나빠질 것입니다. 실제로 모든 것을 얻을 수 있습니다.
또한 일반적인 방법은 특수 용도 클래스와 구현 특정 클래스를 자체 하위 패키지에 넣는 것입니다. 특히 중요한 경우가 아니라면 가져 오기를 피하는 것이 좋습니다. 다시 전체 하위 트리를 가져 오는 것은 그와 충돌합니다.
java.awt.*
은 이 아니고 정규 표현식입니다. 이것이 내가 예상하고 생각하는 것입니다.
java.awt.*
은 중첩 된 패키지가 아닌 정확한 패키지의 클래스만을 제공합니다. 아래에 관련된 이름 공간 충돌을 상상해보십시오!
import com.*
*
을 사용하는 것은 나쁜 습관으로 간주됩니다. 클래스 이름 가져 오기를 선호한다고 설명합니다. 더 읽기
많은처럼 전에 말했다.
수입하고있는 java.awt. * java.awt.event의 모든 클래스를 가져올 것입니다 ...
그리고 그 두 패키지 사이의 차이는 java.awt의입니다.* Frame, Button 등의 클래스를 포함 해, java.awt.event. * 패키지에는 일어날 수있는 모든 이벤트/청취자가 포함됩니다.
예를 들어 Button을 생성하려면 java.awt.Button 클래스가 필요하지만 버튼을 클릭 할 때 어떤 액션이 발생하기를 원한다면 java.awt.event.ActionListener가 필요합니다. 클릭 해, java.awt.event.ActionEvent를 생성합니다.
- 1. 혼란의 안드로이드 GPS 구름!
- 2. 이클립스 - 자바 - UniProtJapi 수입 문제
- 3. 선언적 레이블 선언의 차이점은 무엇입니까? 의 차이점은 무엇
- 4. 차이 [0] 다음을 사용하여 차이점은 무엇
- 5. 동기 (이)와 동기화 방법의 차이점은 무엇
- 6. 아약스 웹 서비스 아키텍처의 차이점은 무엇
- 7. 목표 - C 가져 오기의 차이점은 무엇
- 8. 수입 C는
- 9. 은에서 ... 수입 *
- 10. PyImport_Import 수입
- 11. 파이썬 수입
- 12. 조립 수입
- 13. 에서 ... 수입 *
- 14. 수입 모듈
- 15. 수입 com.sun.image.codec.jpeg. *는
- 16. log4j에 JSP로 수입
- 17. 무엇
- 18. 무엇
- 19. 이 내가 할 노력하고 무엇 자바 스크립트
- 20. 작은 따옴표와 큰 따옴표의 차이점은 무엇 보채 됐어요 PowerShell을
- 21. SOLR/루씬 : 일반 쿼리와 필터 사이의 차이점은 무엇
- 22. COM 개체 정리 아래 두 줄의 코드 사이의 차이점은 무엇
- 23. 무엇 직접 참조 및 inflate 사용의 차이점은 무엇입니까
- 24. 자바 다음과 같이 조합을 제공하는 자바 알고리즘을 무엇 조합 알고리즘
- 25. 파이썬 패키지별로 수입,
- 26. 춘분 번들 수입 충돌
- 27. 장고 수입 문제
- 28. 수입 데이터베이스 phpMyAdmin에
- 29. 파이썬 수입 모듈은 세계적으로
- 30. 수입 웹킷은 ImportError를 실패
import java.awt. *가 java.awt.event도 자동으로 가져 오는 것은 사실이 아닙니까? –
아니요 - 그건 제스퍼의 요점이었습니다. 가져 오기 java.awt. *; 패키지가 정확하게 java.awt 인 모든 클래스를 임포트합니다. 패키지가 단지 java.awt로 시작하는 클래스는 임포트하지 않습니다. – Sbodd