2012-05-11 19 views
20

¿Cuál es el problema aquí?Java: identificador esperado

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

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

Esto se queja:

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

¿Estás ¿Falta un constructor? – ChristopheD

+3

No puede poner 'input.name();' donde quiera, debe estar dentro de un método. –

Respuesta

23

Ponga su código en un método.

Prueba esto:

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

luego "Ejecutar" la clase en su IDE

6

No se puede llamar a los métodos fuera de un método. Código como este no puede flotar en la clase.

Usted necesita algo así como:

public class MyClass { 

    UserInput input = new UserInput(); 

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

o dentro de un constructor:

public class MyClass { 

    UserInput input = new UserInput(); 

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

input.name() necesario que se produzca dentro de una función; las clases contienen declaraciones, no un código aleatorio.

5

Tratar como este lugar, mover sus artículos MiClase dentro de un método principal:

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

    } 
Cuestiones relacionadas