Java SE Ders20 - this Anahtar Kelimesi


   Java'da this anahtar kelimesi birçok amaçla kullanılabilir.Bu amaçlar aşağıda listelenmiştir.
  • O anda kullanılan nesneye referans göstermek için.
  • O anda kullanılan nesnenin özelliklerine erişebilmek için
  • Sınıf içinde başla bir constructor (yapılandırıcı ) metodu çağırabilmek için.

O anda kullanılan nesneye referans gösterimi

public void islem(String ad,int maas){
   ….
    ata(this);
}
….


O anda kullanılan nesnenin özelliklerine erişme 

public void islem(String ad,int maas){
    this.ad=”abc”;
    this.maas=123;
}


Sınıf içinde başka bir constructor (yapılandırıcı) metodu çağırma

public class Personel{
    public Personel(){
       this(“enes”);
    }

    public Personel(String k){
       ad=k;
    }
}



Şimdi örnek programımızı gösterelim.

Main.java
package test;

public class Main {

 public static void main(String[] args) {
  Personel p=new Personel();
  Personel p2=new Personel("p2");
  Personel p3=new Personel(3000);
  Personel p4=new Personel("p4",3500);
  Personel.yazdir();
 }

}

Personel.java
package test;

import java.util.ArrayList;
import java.util.List;

public class Personel {
 private String ad;
 private int maas;
 private static List<Personel> personeller = new ArrayList<Personel>();

 public Personel() {
  this("yok", -1);
 }

 public Personel(String ad) {
  this(ad, -1);
 }

 public Personel(int maas) {
  this("yok", maas);
 }

 public Personel(String ad, int maas) {
  this.ad = ad;
  this.maas = maas;
  personeller.add(this);
 }

 public String getAd() {
  return ad;
 }

 public void setAd(String ad) {
  this.ad = ad;
 }

 public int getMaas() {
  return maas;
 }

 public void setMaas(int maas) {
  this.maas = maas;
 }

 public static List<Personel> getPersoneller() {
  return personeller;
 }

 public static void setPersoneller(List<Personel> personeller) {
  Personel.personeller = personeller;
 }
 
 public static void yazdir(){
  System.out.println("\tAd\tMaas");
  for(int i=0;i<personeller.size();i++){
   System.out.println((i+1)+".\t"+personeller.get(i).getAd()+"\t"+personeller.get(i).getMaas());
  }
 }

}


Yorumlar

Bu blogdaki popüler yayınlar

Java SE Ders24 - Composition (Kompozisyon)

Spring Ders20 - Aspect Oriented Programming - AspectJ Annotation Style

JSF Ders30 - Page Template (Sayfa Şablonu)