Java'da sınıflar
Sınıf, bir .java dosyasında bildirdiğiniz adlı bir tiptir. public class Badge satırını Badge.java adlı bir dosyaya koyun. O tipin içinde ready yazdıran kısa bir static metot show yazın. İkinci bir dosyada, Desk.java adıyla, Badge.show(); çağıran bir main içeren public class Desk koyun. Her iki dosyayı derleyin, sonra java Desk çalıştırın. Ekran bir satır göstermelidir: ready. Burada özyinelemeyle geri saymıyorsunuz. Kendi dosyasında bir tip adlandırıp o tipin metodundan yazdırmasını istiyorsunuz. Bu ikinci adlı tip — yalnızca başlatan dosya olmayan bir sınıf — bu sayfanın öğrettiği şeydir.
Tip kendi dosyasında yaşar
Metot sayfalarına kadar neredeyse her demo main ve yardımcı metotları tek bir public class içinde tutuyordu. Bu hâlâ çalışır. Bu sayfa bilerek ikinci bir public class ekler. Badge bir tip adıdır. Başlayan program olmak zorunda değildir. Desk başlayan programdır. Her public class, sınıf adıyla — büyük harfler dahil — tam eşleşen bir dosyada oturur.
Önce Badge.java oluşturun. Tipin ilk satırı public class Badge'dir. Bu dosyaya public class Desk yazmayın. Burada eski bir Ladder veya Gate sınıf adı bırakmayın. Derleyici public class adını dosya adına bağlar. Dosya Badge.java iken satır public class Ladder derse javac reddeder.
Badge'in süslü parantezleri içinde static void show() yazın. Gövde bir yazdırmadır: System.out.println("ready");. Bu sayfada void kalsın. Metot bir sayı döndürmez. Yalnızca bir sözcük yazar. Bu sayfada Badge.java içinde main yoktur. Bu bilerek böyledir. Bir sınıf, başlatan sınıf olmadan da metot tutabilir.
Derlemeden önce Badge.java'yı kaydedin. İlk kutulu program yalnızca bu dosyadır.
public class Badge {
static void show() {
System.out.println("ready");
}
}
Desk başlar; Badge yazdırır
Aynı klasörde ikinci bir dosya oluşturun: Desk.java. Public class satırı public class Desk'tir. main içinde bir çağrı yazın: Badge.show();. Bu çağrı tip Badge'i, bir noktayı, sonra metot show'u adlandırır. show ayrıca Desk içinde yaşamıyorsa Desk içinde yalnız show(); yazmazsınız. Bu sayfada show Badge'e aittir, bu yüzden çağrı tip adını taşır.
public class Desk {
public static void main(String[] args) {
Badge.show();
}
}
Her iki dosya aynı klasörde olmalı ki javac onları birlikte görsün. O klasörden javac Badge.java Desk.java çalıştırın. Önce Badge.java, sonra Desk.java da derleyebilirsiniz; dosyalar tamamsa her iki sıra da çalışır. Parantezler, süslü parantezler ve noktalı virgüller uyuşunca javac kendi satırını yazmaz. Sonra java Desk çalıştırın — java Desk.java değil, java Badge de değil. Çalıştırma komutundan .java sonunu çıkarın. main tutan sınıfı başlatın. Aynı iki komut türü Windows ve macOS'ta çalışır.
Program bir satır yazdırıp durmalıdır: ready. Sizden yazmanızı istememelidir. Terminal klavye girişi bekliyorsa, eski bir alıştırmadan kalan nextLine çağrısı hâlâ bir dosyadadır. Onu silin ve Desk'te Badge.show(); ile Badge'teki show metodunu tutun.
Çalışmayı bir kez izleyin. Java Desk.main'den başlar. Badge.show() çağrısı Badge tipindeki metoda girer. O metot ready yazdırır ve döner. Sonra Desk biter. Ekrandaki sözcük Badge'ten geldi; Desk'in kendi içindeki bir println'den değil. Bu ayrım noktadır: bir sınıf programı başlatır; başka bir sınıf yardımcıyı tutar.
Dosya adı ile public class uyuşmalı
Eşleşmeyi bir kez küçük tabloda okuyun. Her public class bir dosya adına sahiptir.
📊 file, public class, role
| Dosya | public class | Bu sayfadaki rol |
|---|---|---|
Badge.java |
Badge |
show tutan tip |
Desk.java |
Desk |
main tutan program |
Dosyayı küçük b ile badge.java diye yeniden adlandırırken satır hâlâ public class Badge diyorsa, bazı sistemler uyumsuzluğu hata sayar. Bu başlangıç şeklinde her iki yerde de büyük B tutun. Aynı dosyaya public class Badge ve public class Desk koyarsanız javac reddeder: dosya başına bir public class. Aynı dosyadaki private yardımcı sınıflar sonraki kurslara kalır. Burada iki public dosya tutarsınız.
Sık yapılan karışıklık, yeni Badge.java yazdığınız için java Badge çalıştırmaktır. Bu sayfada o sınıfın main'i yoktur, bu yüzden çalıştırma başlamaz. java Desk çalıştırın. Başka bir karışıklık, show yalnızca Badge'te varken Desk içinde Badge. öneki olmadan show(); yazmaktır. Derleyici o zaman Desk içinde show arar ve bulamaz.
Artakalan özyineleme demoları klasörü karıştırabilir. Hâlâ Ladder.java adlı ve down(3) içeren bir dosya başka bir programdır. İki dosyalı şekli öğrenirken bu dersin klasörünü Badge.java ve Desk.java'ya odaklayın. Burada down'a gerek yoktur.
Önce tipi derleyin, sonra başlatıcıyı
Derleme adımını daha küçük parçalarla pratik edebilirsiniz. Önce yalnızca tipi derleyin: javac Badge.java. Bu komut henüz hiçbir şey başlamasa bile Badge'i kontrol eder. Bir sınıf dosyası main olmadan derlenebilir. Sonra başlatıcıyı derleyin: javac Desk.java. Aynı klasörde Badge zaten derlenmişse Desk çağrıdaki Badge adını çözümleyebilir. Son olarak java Desk çalıştırıp tek satır ready'yi doğrulayın.
javac Desk.java Badge sembolünü bulamadığını söylerse üç şeyi kontrol edin. Klasör Desk.java'nın yanında Badge.java veya derlenmiş Badge sınıfını tutmalıdır. Çağrı tipi ile aynı büyük harflerle Badge yazmalıdır. Noktadan sonraki metot adı Badge'teki başlıkla uyuşacak şekilde show olmalıdır.
Desk içinde System.out.println("Badge"); yazmak Badge sözcüğünü yazdırır. Tip üzerindeki metodu çağırmaz. Badge içinde yaşayan yazdırmayı istediğinizde Badge.show(); tutun.
Bu sayfa henüz ne yapmaz
Bu sayfa new Badge() yazmaz. Bir sınıftan nesne oluşturmak sonraki sayfadır. Buradaki çağrı Badge.show()'dur — tip adının kendisi üzerindeki static bir metot. Henüz bir badge üzerinde alan da saklamazsınız. Alanlar bu modülde sonraki bir sayfaya kalır. Şimdiki iş yalnızca kendi dosyasındaki adlı tip, uyuşan public class satırı ve o tip adını kullanan bir çağrıdır.
show içindeki yazdırılan sözcüğü set yapıp her iki dosyayı yeniden derleyebilirsiniz (veya en azından Badge.java'yı, sonra Desk'i yeniden çalıştırın). Ekran Badge'e koyduğunuz dizgiyi izlemelidir. Desk aynı çağrıyı tutar. Ayrımı görmenin başka yolu: tipin metodunu düzenleyin, başlatıcının çağrısını tutun.
objects'ten önce
Badge.java içinde public class Badge bildirebilir, içine static void show() koyabilir ve Desk.main'den Badge.show(); çağırabilirsiniz. Dosya adı ile public class adı uyuşur. Tipi ve başlatıcıyı derleyin, sonra java Desk çalıştırın. Ekran show'un yazdırdığı satırı gösterir. Sınıf o adlı tiptir. Sonraki sayfa objects'tir; orada new ile bir sınıftan değer kurarsınız.
🧠 Bilginizi Test Edin
Bilginizi Test Edin
Bu interaktif sınavla kendini test et ve konuyu ne kadar iyi anladığını gör
📝 Talimatlar
- Her soruyu dikkatle okuyun
- Her soru için en iyi cevabı seçin
- Quiz'i istediğiniz kadar tekrar alabilirsiniz
- İlerlemeniz üstte gösterilecek