Veysel Uğur KIZMAZ

Java Static Import

26.03.2012Okunma Sayısı: 4743Kategori: Java

 Bir sınıfı bir java sınıf dosyasında kullanabilmek için import anahtar kelimesini kullanmaktayız.

 
import java.*;
 
import anahtar kelimesinin static değişken ve methodlar için farklı bir kullanımı bulunmaktadır.
 
Örnek bir uygulama ile inceleyelim.
 
Örneğin Matematik isminde bir sınıfımız olsun. Bu sınıfımızda Pi sayısını veren static bir değişkenimiz, parametrede aldığı değerin karesini veren static tanımladığımız kare methodumuz ve usAl methodumuz olsun.
 
publicclass Matematik {
      publicstaticdoublePi = 3.14;
      publicstaticdouble kare(double sayi){
            return sayi * sayi;
      }
      publicdouble usAl(double sayi, int us){
            double sonuc = 1;
            for(int i = 1; i <= us; i++){
                  sonuc *= sayi;
            }
            return sonuc;
      }
}
 
 
Sadece Pi ve kare methodları static olarak tanımlanmıştır.
 
Static Import denemesi için bir deneme sınıfı oluşturalım. Oluşturduğumuz sınıfa Matematik sınıfının sadece static method ve değişkenlerini import edelim.
 
 
import static anahtar kelimelerini kullandığımızda Matematik. Yazdıktan sonra sadece static methodlar ve değişkenler gelmektedir. İster methodları/değişkenleri seçebilir, ister Matematik.* ile Matematik sınıfının altındaki bütün static değişkenlere/methodlara erişlebiliriz.
 
importstatic StaticImport.Matematik.*;
 
publicclass Test {
      publicstaticvoid main(String[] args) {
            System.out.println("Pi sayısı : " + Pi);
            System.out.println("10'un karesi : " + kare(10));
      }
}
 
Burada dikkat ederseniz, standard import kullanımında sınıf isimleri verilip sınıflar alınmaktaydı. Burada ise değişken ve methodlar kullanılmaktadır. Pi ve kare(), static import edildiği için sanki Test sınıfının bir parçasıymış gibi kullanabilmekteyiz.
 
Projemizi çalıştıralım.
 

Peki Matematik sınıfının usAl() methoduna nasıl erişeceğiz?
 
importstatic StaticImport.Matematik.*;
import StaticImport.Matematik;
 
publicclass Test {
      publicstaticvoid main(String[] args) {
            System.out.println("Pi sayısı : " + Pi);
            System.out.println("10'un karesi : " + kare(10));
            Matematik mat = new Matematik();
            System.out.println("10 üssü 3 : " + mat.usAl(10, 3));
      }
}
 
1. Matematik sınıfını import ediyoruz.
2. Matematik türünden oluşturduğumuz bir nesne ile erişimi sağlıyoruz.
 
 
 
 Veysel Uğur KIZMAZ
Bilgisayar Mühendisi
veysel@ugurkizmaz.com
www.ugurkizmaz.com

twitter: @vukizmaz