2012-05-11 14 views
20

Qual è il problema qui?Java: Identificatore previsto

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

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

Questo si lamenta:

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

Sei manca un costruttore? – ChristopheD

+3

Non puoi mettere 'input.name();' dove vuoi, deve essere all'interno di un metodo. –

risposta

23

Inserire il codice in un metodo.

Prova questo:

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

poi su "Esegui" la classe presso il vostro IDE

6

Non è possibile chiamare i metodi di fuori di un metodo. Codice come questo non può fluttuare nella classe.

avete bisogno di qualcosa di simile:

public class MyClass { 

    UserInput input = new UserInput(); 

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

o all'interno di un costruttore:

public class MyClass { 

    UserInput input = new UserInput(); 

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

input.name() necessità di essere all'interno di una funzione; le classi contengono dichiarazioni, non codice casuale.

5

Prova in questo modo, invece, spostare gli oggetti MyClass all'interno di un metodo principale:

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

    } 
Problemi correlati