2012-04-12 2 views
0

a.java에는 java.io. import가 있습니다. 나는 모든 자바를 프로젝트에 링크하기 위해 드래그했지만, 일부는 빨간색 아이콘으로 끝나고, a.java는 노란색으로 끝냈다. 빨간색을 가진 사람들은 수입이 없으며, 수입이없는 것처럼 행동합니다. 그렇기 때문에 거기에 .java를 넣었습니다. 왜 작동하지 않습니까?Eclipse에 여러 가져 오기가 필요한 이유가 무엇입니까?

+1

질문을 다시 말하십시오 –

+0

마커 패널로 이동하여 모든 오류 메시지를 조사하십시오. 그 이유는 당신이 생각하지 못한 것일 수도 있습니다. –

답변

0

A.javaimport java.io.*;이므로 B.javajava.io.*;에 액세스 할 수있는 것은 아닙니다. B.java은 동일한 패키지에 있어도 명시 적으로 사용하고자하는 것을 가져와야합니다. JLS의 §6.3§7.5에 지정되어 있습니다.

반입 선언이 실제로 수입 신고가 들어있는 컴파일 단위 내에서 간단한 이름으로 유형 또는 사용 가능한 회원한다 : 6.3에서

. 가져 오기 선언에서 소개 된 유형 또는 멤버의 범위에는 패키지 선언의 PackageName, 현재 컴파일 단위의 다른 가져 오기 선언 또는 같은 패키지의 다른 컴파일 단위가 포함되지 않습니다.

1

가져 오기 범위는 표시되는 .java 파일입니다. 즉, a.java에서 어떤 것을 가져 오면 b.java에 전혀 영향을 미치지 않습니다.

"import"키워드는 실제로 다소 불행한 이름입니다. Java에 익숙하지 않은 사람들은 대체로 그것이 어떻게 든 "힘을 모으는"것이라고 생각합니다. 실제로하는 일은 다른 패키지의 내용을 참조하기위한 속기를 제공하는 것입니다. 예를 들어, "java.io.File"은 클래스를 가져오고 "파일"로 참조하기보다는 원하는 모든 곳에서 쓸 수 있습니다. 컴파일 된 코드는 완전히 정규화 된 이름을 가져올 때 사용하는 것과 완전히 똑같습니다.

+1

+1 대답이 맞지만 _definitely_ 질문 해독을 위해 :-) – paxdiablo

+0

이유는 무엇입니까 (가져 오기 범위가 나타납니다 .java 파일)? 왜 프로젝트가 아닌가? 노란색 아이콘은 무엇을 의미합니까? – user93200

+0

노란색 아이콘 위에 마우스 포인터를 올려 놓습니다. 팝업이 문제에 대한 추가 정보를 제공합니다. 아마도 –

관련 문제