this
Anahtar kelime öncelikle üç durumlarda kullanılır. İlk ve en yaygın değişken değişkenleri belirsizleştirmek için ayarlayıcı yöntemlerde. İkincisi, geçerli sınıf örneğini başka bir nesnenin yöntemine argüman olarak geçirmeye ihtiyaç duyulduğu zamandır. Üçüncüsü, bir kurucu içinden alternatif kurucuları çağırmanın bir yoludur.
Durum 1:this
Değişken referansları belirsizleştirmek için kullanma . Java ayarlayıcı yöntemlerinde, genellikle ayarlamaya çalıştığımız özel üye değişkeniyle aynı ada sahip bir bağımsız değişken iletiriz. Sonra argüman atamak x
için this.x
. Bu, "name" parametre değişkenine "name" parametresinin değerini atadığınızı açıkça gösterir.
public class Foo
{
private String name;
public void setName(String name) {
this.name = name;
}
}
Durum 2: Bağımsız this
değişken olarak başka bir nesneye geçildi.
public class Foo
{
public String useBarMethod() {
Bar theBar = new Bar();
return theBar.barMethod(this);
}
public String getName() {
return "Foo";
}
}
public class Bar
{
public void barMethod(Foo obj) {
obj.getName();
}
}
Durum 3:this
Alternatif kurucuları çağırmak için kullanma . Yorumlarda, trinithis başka bir yaygın kullanımı doğru bir şekilde gösterdi this
. Tek bir sınıf için birden fazla kurucunuz olduğunda this(arg0, arg1, ...)
, kurucunuzun ilk satırında bunu yapmanız koşuluyla, seçtiğiniz başka bir kurucuyu çağırmak için kullanabilirsiniz .
class Foo
{
public Foo() {
this("Some default value for bar");
//optional other lines
}
public Foo(String bar) {
// Do something with bar
}
}
Ben de this
bir örnek değişkeni başvurulan (vurgulama ihtiyacını sans) gerçeğini vurgulamak için kullanılan gördüm , ama bu benim görüşüme göre nadir bir durumdur.