Java Inheritance "super()" fonksiyonu için "Unexpected Token" hatası

194929

Megapat
Katılım
22 Haziran 2016
Mesajlar
720
Çözümler
2
Arkadaşlar Java'da kalıtım konusunu öğrenmekteyim. Okuduğum kaynaklarda "super()" isimli bir fonksiyondan bahsedilmiş. Fakata kullandığım tümleşik geliştirme ortamı bu kodu tanımıyor ve "Unexpected Token" isimli bir hata veriyor. Ne yapabilirim?
Adsız.png


Kodu kullanma amacım üst sınıftaki "Pattis" isimli değişkene erişmektir.
Bu kodu yazdığım mantık ise altta bulunan fotoğrafa aittir.
Ekran Alıntısı.PNG

@bitwise
 
Java:
super.x
Böyle bir kullanımda üst sınıfın x değişkenine erişebilirsiniz.
Vaktinizi ayırdığınız için teşekkür ederim. Çok işime yarayacak.
"super()"@override methodlarda kullanılır.
Java:
@override
void KedininMidesi() {
    super.*****
}
Bilgilendirme için teşekkür ederim. Bu şekilde kullanılması gerektiğini bilmiyordum.
 
Arkadaşlar Java'da kalıtım konusunu öğrenmekteyim. Okuduğum kaynaklarda "super()" isimli bir fonksiyondan bahsedilmiş. Fakata kullandığım tümleşik geliştirme ortamı bu kodu tanımıyor ve "Unexpected Token" isimli bir hata veriyor. Ne yapabilirim?
Eki Görüntüle 428305

Kodu kullanma amacım üst sınıftaki "Pattis" isimli değişkene erişmektir.
Bu kodu yazdığım mantık ise altta bulunan fotoğrafa aittir.
Eki Görüntüle 428306
@bitwise

super() override metodlarda kullanilir demis bir tanesi, hata almanin sebebi bu degil. ( Override etmeden de kullanirsin, override'in bu hatayla iliskisi yok )
super() -> Superclass'in constructor'ini cagiriyor.
super().pattis -> Yanlis. Bunun yerine super.pattis yapman gerekiyor erismek icin.

super, this keyword 'inin aynisidir; sadece referansi superclass'a dir.
 
2 tane hatan var:

1-Fonksiyon bloğu hariç kod yazamassın(fonksiyon çağrısı, kontrol deyimleri gibi).

2-Super keyword'ünü fonksiyon içinde kullanabilirsin. super() demek taban sınıf constructor'ını çağırıyorum demek. super.xdegiskeni demek taban sınıfla bana miras olarak gelen member değişkeni kullanıyorum demek.

Ek olarak:
C ve türevi dillerde fonksiyon içi hariç yürütülebilir deyim yazamassın. Yürütülebilir deyim demek derleyicinin iş yapan makina kodu üretmesini sağlamak demek. Bunlar kontrol deyimleri, basit deyimler gibi. Algoritmik bir kod sadece fonksiyon içine yazılabilir class'ların içinde fonksiyon ve değişken tanımlaması yada sınıf bildirimleri(nested class) yapabilirsin. () fonksiyon çağrı operatörüdür sadece fonksiyon çağrısı yaparken kullanabilirsin.
 
Uyarı! Bu konu 7 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Geri
Yukarı