Video: Java 26 - Dosyalar ve API 2024
Java programını örnek listesinde derlemeye çalıştınız. Java derleyicisi kodun arasından çakır ve bazı eksik parçaları saptar. İlk olarak ArtFrame adlı bir şey var. O halde bu Çizim işin var. Giriş, ArtFrame veya Çizim değil, ShowFrame adlı bir sınıf tanımlar. Peki derleyici ArtFrame ve Çizim sınıflarıyla ilgili bilgi almak için nereye gidiyor?
Düşünmeyi bırakırsanız, sorun yıldırıcı olabilir. Derleyici, ArtFrame adlı dosyalar için sabit diskinizin her yerinde aramaya devam etmeli mi? java veya Çizim. sınıf? Yeni sabit diskiniz ne kadar büyük? 500 GB? 750GB? 6, 000, 000GB?
Ve ağ sürücülerindeki dosyalara yapılan başvurulara ne demeli? Arama alanı potansiyel olarak sınırsızdır. Derleyici tüm bu sorunları eninde sonunda çözerse ne olur? Sonra kodunuzu çalıştırmayı denersiniz ve Java Sanal Makinesi (JVM) tekrar tekrar aramaya başlar.
Bu sorunu çözmek için Java, CLASSPATH adlı bir şeyi tanımlar. CLASSPATH , derleyici ve JVM'nin kod aradığı yerlerin bir listesidir. Bir CLASSPATH ayarlamak için birkaç yol vardır. Bazı programcılar, her Java programı çalıştırdıklarında yeni bir CLASSPATH oluştururlar. Diğerleri, sistem genelinde bir CLASSPATH değişkeni oluşturur.
Windows ve UNIX bilgisayarlarındaki PATH değişkenini biliyorsanız, bu öğelerin nasıl çalıştığını zaten bildirebilirsiniz.
Öyle veya böyle, derleyici ve JVM, kod aramak için yerlerin listesini istiyor. Böyle bir liste olmadan, bu Java araçları hiçbir yere bakmazlar. ArtFrame veya Çizim gibi dersler bulmazlar. Simge mesajı veya NoClassDefFoundError mesajı bulamıyorsanız, çok mutsuzsunuzdur.
Bu işi erişim değiştiricileri hakkında netleştirmek için bir örneğe ihtiyacınız var. Pek çok Java örneğinde hemen hemen her şey halka açıktır. Genel erişime sahipken, kimlerin neyi kullanabileceği konusunda endişelenmenize gerek yoktur.
Bu ilk örnekteki kod birkaç bölümden oluşmaktadır. Listedeki ilk bölüm bir ArtFrame görüntüler. ArtFrame'in karşısında bir Çizim var. Bütün doğru parçalar yerinde olursa, kodun çalıştırılması şekilde gösterilen gibi bir pencere görüntüler.
import com. burdbrain. çizimler. Çizim; ithalat com. burdbrain. çerçeveler. ArtFrame; sınıf public static void main (String args []) {ArtFrame artFrame = new ArtFrame (yeni Çizim ()); ArtFrame. setSize (200, 100); ArtFrame. setVisible (true);}}