Java Class.forName Kullanarak Dinamik Sınıf Yükleme (Sınıfın Paketini ve Adını Verip Nesnesini Elde Etme)

Javada musteri paketinin içinde Kisi adında bir sınıfımız var biz dinamik olarak (çalışma esnasında) bu sınıftan nesne elde etmek istiyoruz. Class.forname içinde önce paket ismini yazmamız ardından . koyup sınıf ismini yazmamız gerekiyor.Burada 2 şekilde kullanımını göstermeye çalıştım.Kisi sınıfından newInstance() ile nesne oluştururken başına (Kisi) yazarak cast etmemiz gerekiyor.

1. Kullanım

String sinif=Kisi;

Class c = Class.forName("musteri."+sinif);

Kisi task4Plan=(Kisi )c.newInstance();

2. Kullanım

String sinif=Kisi;

Kisi k=(Kisi)Class.forName("musteri."+sinif).newInstance();

“Java Class.forName Kullanarak Dinamik Sınıf Yükleme (Sınıfın Paketini ve Adını Verip Nesnesini Elde Etme)” üzerine 1 yorum.

  1. Aşağıdaki örneği nasıl sınıf kullanarak yaparım Teşekkürler
    —————————-

    package ornek5;

    import java.util.Scanner;
    public class Ornek5 {
    public static void main(String[] args) {
    Scanner k = new Scanner(System.in);
    int n,r,s1=1,s2=1,s3=1,i,sonuc;
    System.out.println(“Kümenin sayısını giriniz: “);
    n = k.nextInt();
    System.out.println(“Kombinasyon sayısını giriniz: “);
    r = k.nextInt();
    if(!(r <= n)) { System.out.println("Kombinasyon sayısı eleman sayısından büyük olamaz."); }
    for(i=1;i<=n;i++)
    {
    s1 *= i;
    if(i<=r) {
    s2 *= i;
    }
    if(i<=(n-r))
    {
    s3*=i;
    }
    }
    sonuc = s1 / (s2 * s3);
    System.out.println("Sonuç = "+ sonuc);
    }
    }

Bir cevap yazın