2010-11-11 20 views
9

¿qué significa this() en Java?qué tiene esto() significa en Java

Parece que sólo es válido cuando se ponen

this(); 

en la zona variable de clase.

Cualquiera tiene idea acerca de esto?

Gracias.

+0

Respondí una pregunta similar en una publicación diferente. Puede ser útil http://stackoverflow.com/questions/15867722/java-this-method-confusion – Avi

Respuesta

7

significa que está llamando al constructor por defecto desde otro constructor. Tiene que ser la primera declaración y no puedes usar super() si tienes. Es bastante raro verlo usado.

+0

@Byron, cheers. –

1

Calling this() Wil llamar al constructor de la clase sin argumentos.

Se podría utilizar de esta manera:

public MyObj() { this.name = "Me!"; } 
public MyObj(int age) { this(); this.age = age; } 
+1

oh dios ... ¡no hagas eso! public MyObj() {this ("Me!");} public MyObj (String nm) {this (name, 0);} MyObj (String nm, int a) {name = nm; edad = a; } – TofuBeer

+0

'function' no es una palabra clave Java – barrowc

+0

@barrow: mezclando mis idiomas nuevamente, gracias. –

3

significa "constructor de llamada que es sin argumentos". Ejemplo:

public class X { 
    public X() { 
     // Something. 
    } 
    public X(int a) { 
     this(); // X() will be called. 
     // Something other. 
    } 
} 
+0

Muy bien explicado. Gracias – Jay

0

una clase llamando a su propio constructor por defecto. Es más común verlo con argumentos.

6

Es una llamada al constructor sin argumentos, que se puede llamar como la primera declaración en otro constructor para evitar la duplicación de código.

public class Test { 

     public Test() { 
     } 

     public Test(int i) { 
      this(); 
      // Do something with i 
     } 

} 
Cuestiones relacionadas