(→Sintaxe de Construção) |
|||
Line 130: | Line 130: | ||
Num construtor, esta palavra reservada pode ser utilizada para chamar explicitamente outro construtor da mesma classe. Quando é utilizado desta forma, <code>this</code> pode ocorrer apenas uma vez e deve aparecer como a primeira instrução do construtor. | Num construtor, esta palavra reservada pode ser utilizada para chamar explicitamente outro construtor da mesma classe. Quando é utilizado desta forma, <code>this</code> pode ocorrer apenas uma vez e deve aparecer como a primeira instrução do construtor. | ||
− | + | <!-- | |
class A { | class A { | ||
A(int i) { /* qualquer coisa */ } | A(int i) { /* qualquer coisa */ } | ||
Line 138: | Line 138: | ||
} | } | ||
} | } | ||
+ | --> | ||
+ | <B>class</B> A { | ||
+ | <FONT COLOR="#000080">A</FONT>(<FONT COLOR="#800000">int</FONT> i) { <I><FONT COLOR="#808080">/* qualquer coisa */</FONT></I> } | ||
+ | <FONT COLOR="#000080">A</FONT>(<FONT COLOR="#800000">float</FONT> f, <FONT COLOR="#800000">int</FONT> i) { | ||
+ | <B>this</B>(i); <I><FONT COLOR="#808080">// chamada ao primeiro construtor</FONT></I> | ||
+ | <I><FONT COLOR="#808080">/* resto do segundo construtor */</FONT></I> | ||
+ | } | ||
+ | } | ||
== throw == | == throw == |
Ver switch
.
Ver try
.
Ver switch
.
Ver while
.
Ver if
.
Ver class
.
Ver try
.
Ver interface
.
Operador.
Referência para o objecto "actual", i.e., para o objecto no contexto do qual se executa o código onde aparece a referência. O exemplo seguinte, embora não siga as regras de nomenclatura, ilustra o uso de this
como forma de desambiguar as variáveis no construtor.
class A { int x; A(int x) { this.x = x; } }
Num construtor, esta palavra reservada pode ser utilizada para chamar explicitamente outro construtor da mesma classe. Quando é utilizado desta forma, this
pode ocorrer apenas uma vez e deve aparecer como a primeira instrução do construtor.
class A { A(int i) { /* qualquer coisa */ } A(float f, int i) { this(i); // chamada ao primeiro construtor /* resto do segundo construtor */ } }