bazen bir metodun içinde o metodun ait olduğu sınıftan yaratılacak nesneyi veya o nesnenin bir alt değişkenini tanımlamak gerekir. Nesne daha tanımlanmadığindan direk olarak nesne ismini kullanamayız. Bunun yerina java this deyimini kullanır. This deyimi bilhassa sınıfa ait değişken silerinin aynısı metodda kullanılmışsa işe yarar. Bu durumda tüm sınıfa ait değişkenler this.değişken_ismi komutuyla çağırılabilir. Eçen bölümde sınıf ve metota ait değişkenleri izlerken metotvesinifdeg.java ve metotvesinifdeg1.java isimlerinde iki örnek problemi incelemiştik. Şimdi de aynıgruptan metotvesınıfdeg3.java programını inceleyelim.
import java.awt.Graphics;
import java.applet.Applet;
public class metotvesinifdeg3 extends Applet
{
//buradaki degiskenler tum sinifa aittir
double x ;
int y ;
**** metod1( Graphics g) //metoda hi bir de§iken girmiyor
{
double x;
int y;
x=5.5;
y=6;
//tum sinifa at degiskenler this kelimesi ile birlikte kullanilabilirler
g.drawString("metod1 in dis degiskenleri this ile ulasim : x = "+this.x+" y = "+this.y,25,25);
g.drawString("metod1 in ic degiskenleri : x = "+x+" y = "+y,25,40);
}
public **** paint(Graphics g)
{
x = 2.5;
y = 3;
metod1(g);
}
}
Şekil 3.4.1 metodvesinifdeg3.java programıyla ve this deyimi yardımıyla metotun içinde yerel ve sınıfa ait değişkenlere ulaşım.
Sınıfa ait her değişkeni başına this. Getirerek kullanabiliriz. Fakat this kullanımı mutlaka gerekli değilse kullanılmaması tavsiye edilir. Örneğin yukarıdaki kurucu metot kutu
//kurucu metod kutu
Kutu(double e,double b,double y)
{
this.en=e;
this.boy=b;
this.yukseklik=y;
}
şeklinde yazılabilirdi. Fakat sınıfta aynı isimde başka değişken olmadığından bilgisayar zaten bu değişkenlerin sınıfa ait olduklarını bilmektedir ve ayrıca tekrarlamaya gerek yoktur.
import java.awt.Graphics;
import java.applet.Applet;
public class metotvesinifdeg3 extends Applet
{
//buradaki degiskenler tum sinifa aittir
double x ;
int y ;
**** metod1( Graphics g) //metoda hi bir de§iken girmiyor
{
double x;
int y;
x=5.5;
y=6;
//tum sinifa at degiskenler this kelimesi ile birlikte kullanilabilirler
g.drawString("metod1 in dis degiskenleri this ile ulasim : x = "+this.x+" y = "+this.y,25,25);
g.drawString("metod1 in ic degiskenleri : x = "+x+" y = "+y,25,40);
}
public **** paint(Graphics g)
{
x = 2.5;
y = 3;
metod1(g);
}
}
Şekil 3.4.1 metodvesinifdeg3.java programıyla ve this deyimi yardımıyla metotun içinde yerel ve sınıfa ait değişkenlere ulaşım.
Sınıfa ait her değişkeni başına this. Getirerek kullanabiliriz. Fakat this kullanımı mutlaka gerekli değilse kullanılmaması tavsiye edilir. Örneğin yukarıdaki kurucu metot kutu
//kurucu metod kutu
Kutu(double e,double b,double y)
{
this.en=e;
this.boy=b;
this.yukseklik=y;
}
şeklinde yazılabilirdi. Fakat sınıfta aynı isimde başka değişken olmadığından bilgisayar zaten bu değişkenlerin sınıfa ait olduklarını bilmektedir ve ayrıca tekrarlamaya gerek yoktur.