Java Programlamada Paket Yapısı Ve Import
Java programlamada paket yapısı ve import
Java Programlamada Paket yapısı ve Import
Java programları paketlerden oluşmaktadır. Paketlerin içinde sınıflar ve arayüzler bulunur. İstenirse var olan paketlerden başka (import)paketleri de kullanabiliriz. Paket içine yer alan sınıflar, arayüzler ve import'lar için bir sayı sınırlaması yoktur. Bir paket içinde tanımlanan sınıflar ve arayüzler istenildiğinde tekrar takrar kullanılabilirler.
Paketlerin Yapısı ve Import ifadesi:
package paketimiz; import kullanilacak_paket_listesi; { // paket gövdesi... }
Paket gövdesinde sınıflar ve arayüzler tanımlanır. Paket içindeki bir sınıfın kendi alt sınıfları, constructor’ları, anlık ve static değişkenleri, metotları, metotlar içinde yerel değişkenleri var olabilir. Örneğin;
package paketimiz; import java.awt.*; import java.applet.Applet; public class lamba extends Applet { public void paint(Graphics lamba) { lamba.drawLine(98, 200, 98, 325); lamba.drawLine(175, 200, 175, 325); lamba.drawArc(35, 200, 225, 60, 285, 320); lamba.drawLine(32, 231, 97, 100); lamba.drawLine(263, 231, 190, 100); lamba.drawArc(97, 90, 93, 20, 0, 180); lamba.fillRect(0,325,300,5); } }
Pakete Eklemeler
Netbeans ta lamba uygulaması Şöyle bir konumda idi;
Bir paketi yaratırken, onun bütün sınıflarını ve arayüzlerini aynı anda bir arada yazmanız gerekmez. İlk satırına;
package paketim;
yazarak yaratacağınız her sınıf ve arayüz, “paketim” paketine eklenir; derlendikten sonra, onun bytekodu “paketim” dizini içine gider. Örneğin bir applet uygulaması yapalım ve ve aynı paket içerisinde olsun;
package paketimiz; import java.applet.*; import java.awt.*; public class ucgen extends Applet { public void paint(Graphics ucgen_ciz) { int a[] = {5, 30, 125, 5}; int b[] = {30, 80, 80, 30}; int c[] = {50, 80, 80, 50}; ucgen_ciz.setColor(Color.orange); ucgen_ciz.drawPolygon(a, b, 4); ucgen_ciz.fillPolygon(a, c, 4); } }
Yukarıda yaptığımız uygulama ile görüldüğü gibi aynı paket içersinde görüntüleniyor;
Dizin Adları ve Paketler
Tek başına tanımlanan bir sınıftan oluşan program, yalnız o sınıfı içeren bir paket gibi görülebilir. Tek bir sınıftan oluşan program derlendiğinde, bytecode’u hangi dizinde ise, o dizinin adıyla bir paket vardır ve o paket sınıfı içeriyor gibi görülür. Aynı dizinde olan sınıflar, bir paket içindeymiş gibi rol oynarlar.
Hiyerarşik Paketler
Java paketleriyle dizin adları arasında bire-bir karşılık vardır. Bu göre, alt-dizin yaratabildiğimize göre, alt-paketler de yaratabilmeliyiz. Alt-sınıflar yarattığımız gibi alt-paketler de yaratabiliriz. Örneğin, paketimiz içerisinde icpaket olarak bir paket oluşturacak olursak;
package paketimiz.icpaket;
şeklinde yazarız. Eğer istersek bir tane daha alt paket kullanacaksak;
package paketimiz.icpaket.enicpaket;
daha önce yaptığımız uygulama olan ucgeni alt paket içerisinde yapacak olursak;
Şeklinde yazdığımızda görünüm aşağıdaki gibi olacaktır;
Java, addaki hiyerarşiye uyan dizin ve alt dizinleri yukarıdan aşağıya doğru arar.
Java Paketleri
java.lang: Her java programına default olarak çağrılır. Onu ayrıca import deyimi ile çağırmaya gerek yoktur. Sistemle ilgili başlıca işleri yapan sınıflara sahiptir.
java.io: Giriş/çıkış işlemlerini yapar.
java.applet: Tarayıcıda applet’in görünebilmesi için gerekli sınıfları içerir.
java.awt: Grafiksel kullanıcı arayüzü (GUI - Graphical User Interface) yaratmak için gerekli sınıfları içerir.
java.util: Liste, takvim, tarih vb. araçları yaratmaya yarayan sınıfları içerir.
java.net: TCP/IP ağ programlaması için gerekli sınıfları içerir.
Paket Tanımlama Kuralları
- Her paketin bir adı vardır. Paket adından hemen önce package anahtar sözcüğü yer alır.
- Paketler erişim belirtkesi almaz, ancak içerdiği sınıflar erişim belirtkesine sahip olabilir.
- Sınıftan ayırmak için, paket adları küçük harfle başlatılır.
- Bir paket içinde aynı adı taşıyan iki sınıf ya da arayüz olamaz. Ama, ayrı paketlerde aynı adı taşıyan sınıflar ve arayüzler olabilir.
- Paketler başka paketlerin dışalımını yapabilir. Dışalım varsa, başlıktan sonraki deyim import deyimi olur.
- import deyiminden sonra paketin gövdesi yaratılır, yani onun içine konulacak sınıflar, arayüzler tanımlanır.
import Bildirimi
Bir programda kullanılacak java paketleri
import paketimiz;
ile çağrılır. Birden çok paket çağrılacaksa, aynı deyim içine, paket adları (,) ile birbirlerinden ayrılarak yazılabilir. import deyimi paket kurulurken, paket adından sonra yazılan ikinci deyim olmalıdır. Sınıf kurulurken ise, yazılacak ilk deyim olmalıdır. import deyimiyle sınıflar iki türlü çağrılabilir:
Tam hiyerarşik adı yazılarak
import java.awt.Graphics;
Yıldız simgesi kullanılarak
import java.lang.*;
Örneğin;
Hazırlayan: Fatih ÜN.