5.00 / 1 oy

Java method in class cannot be applied to given types hatası

Nesne yönelimli programlama dillerinde (OOP - object oriented programming) oluşturduğumuz sınıflar için kendimiz kurucular (constructor) tanımlayabileceğimiz gibi kurucu eklemediğimiz durumda her sınıf için otomatik olarak tanımlanan default constructor'ları da kullanabiliriz. Ancak bir sınıftan bir nesne oluştururken o sınıfa ait kuruculardan birisini tercih etmek durumundayız.

Örneğin bir sınıfın 2 parametreli tek bir kurucusu var ise bu 2 parametreli kurucuyu kullanmak durumundayız. Ya da bir sınıfın birden fazla kurucusu varsa da bu kuruculardan birisini seçmek ve bu sınıftan nesne oluştururken bu kuruculardan birisini tercih etmek durumundayız.

Örneğin Kullanici sınıfı için iki adet kurucu tanımlayalım:

public class Kullanici {

    private int yas = 0;

    public Kullanici() {
    }

    public Kullanici(int yas) {
        this.yas = yas;
    }
}

Kullanici sınıfından nesneler oluştururken artık bu iki kurucudan birisini tercih etmek durumundayız. Aşağıdaki iki nesne oluşturma uygulaması da doğrudur:

Kullanici kullanici1 = new Kullanici();
Kullanici kullanici2 = new Kullanici(30);

Ancak farklı sayıda ya da türde parametreler ile kurucusu bulunmayan bir nesne oluşturmak istediğimizde Java bize method in class cannot be applied to given types hatası verir. Çözümü ise nesne oluşturmak istediğimiz sınıf için kurucuları kontrol etmek ve kuruculara uygun şekilde nesne oluşturmaktır.

 

Editör editi: sitedeki bazı diğer benzer yazılar için;

bkz: Java'da Constructor Kullanımı ve Örnekleri

bkz: C# Kurucu (Constructor) Nedir?

bkz: Java'da Override Nedir ve Nasıl Kullanılır?

bkz: Java'da StringTokenizer Sınıfı Kullanımı ve Örnekleri

bkz: Java'da Kalıtım Örnekleri (Class Inheritence)

bkz: Java'da getter ve setter kullanımı örnekleri

utku33

15.09.2021 11:25

Bu soru henüz yanıtlanmamış.

Bu soruya sadece kayıtlı kullanıcılar yanıt yazabilirler. Yanıt yazmak için lütfen giriş yapınız.

Reitix
Java method in class cannot be applied to given types hatası

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.