Child Classtan Parent Class'a Değer Atama
-
Arkadaşlar üst üste konu açmak istemiyorum ama I need help again :) cevabı da paylaşacağım ki aynı dertle boğuşan insanlara yol göstersin.
Timerla çalışan bir döngüm var, serverda link değişince if'e düşüp linki yazdıracak. Sonra tekrar ife düşmemesi için yeniLink adındaki değişkene linki eşitlemek istiyorum.
Aşağıda gördüğünüz yeniLink'i link'e eşitlemek istiyorum fakat eşitleyemiyorum.String yeniLink = " ";
Timer myTimer = new Timer();
engine.load(link);
TimerTask gorev = new TimerTask() {
@Override
public void run() {
try {
String link = selam.deneme();
System.out.println("calisti " + link);
if (!yeniLink.equals(link)) {System.out.println("yeni link " + link);
yeniLink = link;}
} catch (Exception e) {
}
}
};
myTimer.schedule(gorev, 0, 3000); -
Başlıkta "Child classtan parent classa değer atama" demişsin ama aslında derdin tam olarak o değil. Bütün işlemler aynı class içinde olup bitiyor :)
Cevaba gelecek olursak da, TimerTask'in içindeki run metodunun içinde, dışarıda tanımlanmış bir değişkenin değerini değiştirmeye çalışıyorsun. Java maalesef buna izin vermez, kızar. Dilersen şöyle bir şey deneyebilirsin:
yenilink değişkenini global değişken olarak metodun dışında tanımla, getter ve setter metodlarını ekle.
yeniLink = link; satırını da bununla değiştir: setYeniLink(link);
private String yeniLink = ""; public String getYeniLink() { return yeniLink; } public void setYeniLink(String yeniLink) { this.yeniLink = yeniLink; } ... ... ... setYeniLink(link);
Çalışacaktır.