2012-05-11 35 views
20

Sự cố ở đây là gì?Java: Số nhận dạng mong đợi

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

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

này phàn nàn:

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

Bạn thiếu một nhà xây dựng? – ChristopheD

+3

Bạn không thể đặt 'input.name();' bất cứ nơi nào bạn muốn, nó phải nằm trong một phương thức. –

Trả lời

23

Đặt mã của bạn theo phương thức.

Hãy thử điều này:

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

Sau đó, "chạy" lớp từ IDE của bạn

6

Bạn không thể gọi các phương thức bên ngoài một phương pháp. Mã như thế này không thể trôi nổi trong lớp.

Bạn cần một cái gì đó như:

public class MyClass { 

    UserInput input = new UserInput(); 

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

hoặc bên trong một constructor:

public class MyClass { 

    UserInput input = new UserInput(); 

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

input.name() cần phải được bên trong một hàm; các lớp chứa khai báo, không phải mã ngẫu nhiên.

5

Hãy thử nó như thế này thay vào đó, chuyển mục myclass của bạn bên trong một phương pháp chính:

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(); 
     } 

    } 
Các vấn đề liên quan