Soru & Cevap

Java'da Dahili Üye Sınıfların Çevre Sınıfına Ulaşımı

22.04.2017 - 07:06

Biraz anlayamadığım bir şey var. Şimdi sağ taraftaki benim oluşturduğum bir sınıf ve içinde başka bir sınıf. Soldaki main sınıf, projenin başladığı yer. Üye sınıfın metodundan çevre sınıfta ki verilere erişirken hata yaşıyorum. Netbeans'in bana verdiği çözümleri denerken tek biri işe yaradı; o da main sınıfta import yapmak: "import static dahiliınnerclassd2.enbir.s;". Tabi bu da oluşturduğum sınıftaki data alanları static olursa ve sadece Integer'da işe yarıyor mesela String için import yapsam hata alıyorum. Bunu izah edebilecek olan var mı?

Görsel kaldırıldı.

7 Görüntülenme

1 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-17846-1496738325.jpg
haciabdullahsarikaya
26.04.2017 - 02:35

Merhabalar,

Öncelikle Class isimleri değişken veya metodlar gibi küçük harfle başlamamalı. Bu söylediiğim kod standartlarıyla ilgili gerçi o konuda çok müdahale edilecek nokta var ama sorunu cevaplamak istiyorum. Static metodların içerisinde global'de bulunan bir değişken veya metod çağırmak ve kullanmak istediğiniz zaman onunda static olarak tanımlanması gerekmektedir. (static void main() metodu)

Ayrıca bir classta bulunan static bir değişkeni obje oluşturmadan(new) çağırabilirsin tek yapman gereken enbir.s olarak çağırman olacak. Çünkü s değişkenin içerdeki class'a ait değil. Yani ürettiğin s1 objesinden de ona erişemezsin s1.s yazsan bile.

Son olarak protected erişim belirleyicisi ile tanımlı değişkeni farklı paketteki classta tanımlayamazsın. Ve integer da büyük bir ihtimalle sen onu ekrana yazdırıyorsun String olarak yazdırmak zorundasın ya System.println(s+""); yapman lazım ya da String türüne dönüştürmen lazım içeride. 

Sevgiler :)