Son Forum Aktiviteleri

7
Tümünü Gör

Kullanıcıya ait forum aktivitesi bulunmamaktadır.

NewInstance(); // main sınıfının argümanı üzerinden yeni bir nesne oluşturmak istiyorum ancak metodun üstü çiziliyor sebebini bilen var mıdır ?

picture-16113-1397849170.jpg
15 Kasım 2022 tarihinde cevaplandı
Class.forName(args[0]).getConstructor(String.class, Integer.class).newInstance("Argüman1", 2);

Yukarıda örnek bir kod parçası yazdım. getConstructor'dan sonra hangi argüman gerekli ise onların classlarını vermen gerekiyor. Sonrada aynı sırada bu argümanları newInstance metoduna vermen gerekiyor. Umarım işini görür :)

List ve ICollection arasındaki fark nedir.

Merhabalar;

Bu zamana kadar neden kimse cevap vermemiş cidden çok merak ediyorum. Forumda aktif değilim. Sorunun cevabına gelirsek bildiğim kadarıyla anlatmaya çalışayım.

List bir sınıftır. List sınıfı sayesinde biz c#'da listeler oluşturabiliyoruz. ICollection ise bir interface yani arayüz. ICollection arayüzünden new anahtarı ile yeni instance oluşturamayız. Fakat c#'da şöyle bir durum var. Tüm koleksiyonlar ICollection interface'sini implement ederler yani ondan türerler. Bu sayede her hangi bir listeye ihtiyaç duyduğun zaman bunu ICollection tipinde tanımlayıp kullanabilirsin. Bu şekilde tanımladığın zaman List sınıfına bağımlı olmazsın.

Örneğin:

List<int> liste = new List<int>();

Uygulamada şöyle bir tanımlama yaptın. Böyle bir kullanım senaryosunda sen list yerine arraylist kullanma kararı aldığında, sadece list yerine arraylist yazmak işi kurtaramayabiliyor. Sen list yerine arraylist yazdığın zaman nesnenin fonksiyonları değişiyor ve sen değişen bu fonksiyonlarıda kodunu da değiştirmen gerekiyor.

ICollection<int> liste = new List<int>();

Eğer şu şekilde tanımlama yapıp kodlamanı yaparsan, artık list sınıfına bağımlı olmaktan kurtuluyorsun ve ileride list yerine "= new ArrayList<int>()" yazdığın zamanda kodun sıkıntısız bir şekilde çalışmaya devam ediyor.

Umarım açıklayıcı olmuştur.

base anahtar kelimesi

base anahtar kelimesi kalıtım(inherit) ile alınan sınıfın oluşturucu(constructor) fonksiyonunu çalıştırmaya yarar. Yani senin örneğinden yola çıkarsak DieKlasse sınıfı Klasse sınıfından kalıtım almış olduğu için sen Dieklasse sınıfını oluştururken klasse sınıfından da oluşturman gerektiği için base anahtar kelimesi ile klasse sınıfının oluşturucusunu çalıştırıyorsun. Umarım açıklayıcı olmuştur.

Edit text e ###.###,## formatta veri girme ve tutarı yazıya çevirme java kodlamasını nasıl yaparım...

https://github.com/egslava/edittext-mask

Umarım bu kütüphane senin işini görür. Kullanımı linkde açıklanıyor. Fakat kullanırken sıkıntı olursa tekrardan yazabilirsin.