public class SayiArtırma {
int sayi = 0;
SayiArtırma sayiArtir() {
sayi++;
return this;
}
void sayiGoster() {
System.out.println("Sayi: " + this.sayi);
}
public static void main(String[] args) {
SayiArtırma s = new SayiArtırma();
s.sayiArtir().sayiArtir().sayiArtir().goster();
}
}
Buradaki "sayiArtir()" yordamını ardarda çağırabiliyorum fakat aşağıdaki örnekte bunu gerçekleştiremiyorum.
public class SayiArtırma {
int sayi = 0;
int sayiArtir(){
this.sayi++;
return this.sayi;
}
void sayiGoster(){
System.out.println("Sayı: " + sayi);
}
public static void main(String[] args){
SayiArtırma s = new SayiArtırma();
// s.sayiArtir().sayiArtir().sayiArtir().sayiGoster(); ÇALIŞMIYOR
s.sayiArtir();
s.sayiArtir();
s.sayiGoster();
}
}
Bunun sebebi, ilk örnekteki "sayiArtır()" yordamının dönüş tipinin "SayiArtırma" nesnesi olması mı? Çalışma mantığını anlatabilirseniz sevinirim.