2014-12-07 4 views
0

저는 java를 처음 사용합니다. Netbeans을 사용하여 프로그램을 컴파일하려고했습니다. HelloWorldApp.java는 Greeter.java의 Greeter 클래스를 사용합니다. 나는 오류가 계속 발생하고 그것을 파악할 수 없습니다. 나는 당신이 "패키지"또는 뭔가를 포함해야한다는 것을 이해합니다. Netbeans에 대한 많은 경험이 없습니다. 그러나 나는 이것이 작동하기를 좋아합니다. 다른 파일로Netbeans Java 프로그램을 컴파일하려면

public class Greeter 
{ 
    public void sayHello() 
    { 
     System.out.println("Hello, World!"); 
    } 
} 
+1

'Greeter'는 어떤 패키지입니까? 같은 프로젝트에서? 어떤 오류가 있습니까? 추측을해야합니까? –

+0

죄송합니다. 예, 같은 프로젝트에 있습니다. 내가 얻는 오류는 다음과 같습니다. "main"스레드의 예외 java.lang.RuntimeException : 컴파일 할 수없는 소스 코드 - 틀린 트리 유형 : Greeter. \t at helloworldapp.HelloWorldApp.main (HelloWorldApp.java:7) Java 결과 : 1 –

+1

'import Greeter'는 세미콜론이 필요합니다. 처음에는 홍당무로 모든 것이 잘 보입니다. –

답변

1

package helloworldapp; 

Greeter의 첫 줄을 변경 한 다음 HelloWorldApp에서

import Greeter 

을 제거

. 다른 패키지에있는 클래스 만 가져와야합니다. 또한 가져 오기 행은 세미콜론으로 끝납니다. 마지막으로, import은 항상 선택적이며 개발자에게는 편리합니다. 예를 들어,

import java.util.Calendar; 

는 여전히만큼 둘 다 (폴더) 같은 패키지에 같이

java.util.Calendar cal = java.util.Calendar.getInstance(); 
1

그냥 같은 폴더에 (예 : 패키지) Greeter 클래스를 넣어 : Greeter.java

package helloworldapp; 
import Greeter 
public class HelloWorldApp 
{ 
    public static void main(String[] args) 
    { 
     Greeter myGreeterObject = new Greeter(); 
     myGreeterObject.sayHello(); 
    } 
} 

그리고 여기에 있습니다 : 여기

는 HelloWorldApp.java입니다 "Greeter 가져 오기"문을 제거하십시오. HelloWorldApp 클래스에서했던 것처럼 모든 클래스를 패키지에 넣어야합니다.

패키지없이 (즉, 루트 폴더에) 클래스를 가져 오면 가져올 수 없습니다.

0

를 사용할 수 가져 오기없이, 당신은

Calendar cal = Calendar.getInstance(); 

을 쓸 수 있도록 허용하지만, "Greeter 가져 오기"성명서에 대한 필요성이 없을 것입니다, 이것은 그것을 고쳐야합니다, 이것이 도움이되기를 바랍니다!

관련 문제