2012-05-11 2 views
20

여기에 무슨 문제가 있습니까?Java : 식별자가 필요합니다.

class UserInput { 
    public void name() { 
    System.out.println("This is a test."); 
    } 
} 

public class MyClass { 
    UserInput input = new UserInput(); 
    input.name(); 
} 

이 불만 : 당신은 방법 밖에 메소드를 호출 할 수 없습니다

<identifier> expected 
    input.name(); 
+0

있습니까 생성자가 누락 되었습니까? – ChristopheD

+3

'input.name();을 넣을 수 없습니다. 원할 때마다 메소드 안에 있어야합니다. –

답변

23

코드를 메서드에 넣으십시오.

이 시도 :

다음
public class MyClass { 
    public static void main(String[] args) { 
     UserInput input = new UserInput(); 
     input.name(); 
    } 
} 

"실행"클래스를 당신의 IDE에서

6

. 이와 같은 코드는 클래스에서 떠 다니는 수 없습니다.

당신은 같은 것을 필요

public class MyClass { 

    UserInput input = new UserInput(); 

    public void foo() { 
     input.name(); 
    } 
} 

또는 생성자 내부 :

public class MyClass { 

    UserInput input = new UserInput(); 

    public MyClass() { 
     input.name(); 
    } 
} 
4

input.name() 요구는 함수 내부로; 클래스에는 선언이 포함되며 임의의 코드는 포함되지 않습니다.

5

는, 대신에 다음과 같이 그것을 시도 main 메소드 내부에 MyClass의 항목을 이동 : 당신이

class UserInput { 
     public void name() { 
     System.out.println("This is a test."); 
     } 
    } 

    public class MyClass { 

     public static void main(String args[]) 
     { 
      UserInput input = new UserInput(); 
      input.name(); 
     } 

    } 
관련 문제