Cechy Konstruktora
- Nazwa konstruktora musi być taka sama jak nazwa klasy.
- Zwracany typ jest nieważny.
- Konstruktor nie może być statyczny, abstrakcyjny i ostateczny.
Rodzaje konstruktorów
- Domyślny
- Bezparametrowe
- Sparametryzowane
1. Domyślny Konstruktor
Konstruktor domyślny jest tworzony przez kompilator Java, gdy koder nie deklaruje żadnego konstruktora dla klasy i ten konstruktor nie zawiera żadnego argumentu. Plik Java nie zawiera żadnego kodu dla konstruktora domyślnego. Domyślny kod konstruktora jest tworzony w czasie kompilacji kodu Java i jest przechowywany w .klasa plik.
2. Konstruktor bez parametrów
Gdy konstruktor jest zadeklarowany bez żadnego parametru lub argumentu, nazywa się go konstruktorem bez parametrów. Konstruktor bez parametrów działa jak konstruktor domyślny i ten konstruktor może zawierać instrukcje lub może być pusty.
3. Sparametryzowany Konstruktor
Gdy dowolny konstruktor jest zadeklarowany z co najmniej jednym parametrem, jest nazywany konstruktorem sparametryzowanym. Wartości parametrów konstruktora są przekazywane w momencie tworzenia obiektu.
Przykład 1: Tworzenie konstruktora bez parametrów
Poniższy kod pokazuje, jak używać konstruktora bez parametrów. Wspomnieliśmy wcześniej, że nazwa metody konstruktora będzie taka sama jak nazwa klasy. Tutaj nazwa klasy to „ con1 ”, więc nazwa konstruktora bez parametrów to „ con1() .’ Dwie zmienne klasowe, ‘ Nazwa ' oraz ' wiek ”, są tutaj zadeklarowane. W momencie deklarowania zmiennej obiektu „ obiekt ”, zostanie wywołany konstruktor i zostanie wydrukowana konkretna wiadomość. Następnie dwie wartości są przypisywane do zmiennych klasy i są później drukowane za pomocą „Obiekt” obiekt.
publiczny klasacon1{// zadeklaruj zmienne
Strunowy Nazwa;
intwiek;
//Konstruktor bez parametrów
con1() {
System .na zewnątrz.drukuj(„Konstruktor nazywa się”.);
//Zainicjuj zmienne
Nazwa= „Fahim Reza”;
wiek= 30;
}
//metoda main()
publiczny statyczny próżniaGłówny( Strunowy []argumenty) {
//Utwórz obiekt
con1 obj= Nowycon1();
//Wydrukuj wartości właściwości obiektu
System .na zewnątrz.wydrukować(„Wiek” +obj.Nazwa + ' jest ' +obj.wiek);
}
}
Wyjście:
Poniższy obraz przedstawia dane wyjściowe kodu. Konstruktor jest wywoływany w momencie tworzenia obiektu i komunikatu Konstruktor nazywa się jest drukowany. Wartości „ Nazwa ' oraz ' wiek ’ są przypisane wewnątrz konstruktora. Wartości tych zmiennych są drukowane później.
Przykład 2: Utwórz konstruktor sparametryzowany
Poniższy kod obliczy łączną pensję pracownika na podstawie wynagrodzenia podstawowego i wydrukuje inne informacje tego pracownika obok obliczonego wynagrodzenia. Tutaj zadeklarowanych jest siedem zmiennych klas. Konstruktor o nazwie „ con2() ”, ma trzy parametry. Pierwsze dwa parametry przyjmą wartości ciągu w „ Nazwa ' oraz ' Poczta ’, a trzeci parametr przyjmie wartość liczbową w ‘ podstawowy ’ parametr. Wartości tych parametrów zostaną przekazane w momencie tworzenia obiektu. Konstruktor zainicjuje zmienne klasy tymi wartościami i obliczy inne wartości na podstawie wartości „ podstawowy ’ parametr. Następnie zostanie wydrukowane imię i nazwisko, stanowisko oraz wynagrodzenie pracownika.
publiczny klasacon2{// Zadeklaruj zmienne
Strunowy Nazwa;
Strunowy Poczta;
intPodstawowy;
podwójnieHouseRent;
podwójnieMedyczny;
podwójnieTransport;
podwójniePensja;
//Sparametryzowany konstruktor
con2( Strunowy Nazwa, Strunowy Poczta,intpodstawowy) {
ten.Nazwa =Nazwa;
ten.Poczta =Poczta;
ten.Podstawowy =podstawowy;
ten.HouseRent =podstawowy*0,3;
ten.Medyczny =podstawowy*0,2;
ten.Transport =podstawowy*0,1;
Pensja=podstawowy+HouseRent+Medyczny+Transport;
}
//metoda main()
publiczny statyczny próżniaGłówny( Strunowy []argumenty) {
//Utwórz obiekt
con2 obj= Nowycon2(„Mir Sabbir”,'Księgowa',65000);
//Wydrukuj wartości właściwości obiektu
System .na zewnątrz.wydrukować('Imię i nazwisko pracownika: ' +obj.Nazwa + ' ' + 'Poczta: '+obj.Poczta +
' ' + 'Wynagrodzenie: TK'+obj.Pensja);
}
}
Wyjście:
Poniższy obraz przedstawia dane wyjściowe kodu. Tutaj w oświadczeniu o utworzeniu obiektu podane jest imię i nazwisko pracownika, stanowisko oraz wynagrodzenie zasadnicze. Tutaj drukowana jest całkowita pensja, imię i nazwisko oraz stanowisko.
Przykład 3: Utwórz łańcuch konstruktorów
Ważne jest, aby wiedzieć o funkcji dziedziczenia programowania obiektowego, aby zrozumieć koncepcję tworzenia łańcuchów konstruktorów. Kiedy nowa klasa jest tworzona przez dziedziczenie innej klasy, nazywa się to dziedziczeniem. W takim przypadku wszystkie właściwości klasy nadrzędnej lub podstawowej są dostępne z klasy podrzędnej lub pochodnej. Kiedy tworzony jest obiekt klasy potomnej, automatycznie wywołuje konstruktor klasy nadrzędnej przed wywołaniem własnego konstruktora. Ten ' Super() Metoda ’ jest używana w innych językach do wywołania konstruktora nadrzędnego, ale kompilator Java wywołuje tę metodę automatycznie. Używanie konstruktorów w ten sposób nazywa się łańcuchem konstruktorów i ten proces jest pokazany w tym przykładzie. Tutaj nazwa klasy nadrzędnej to „ rodzic ”, a nazwa klasy podrzędnej to „ con3 .’ Istnieje inna metoda o nazwie ‘ łączyć() ’ w klasie podrzędnej, która łączy wartości przypisane w konstruktorach nadrzędnych i podrzędnych.
klasarodzic{// Zadeklaruj zmienną
Strunowy strVal;
//Konstruktor nadrzędny
rodzic(){
System .na zewnątrz.drukuj(„Konstruktor nadrzędny nazywa się”);
strVal= 'Podoba mi się ';
}
}
publiczny klasacon3rozciąga sięrodzic{
// Zadeklaruj zmienną
Strunowy childStrVal;
//Konstruktor dziecka
con3(){
System .na zewnątrz.drukuj(„Konstruktor podrzędny nazywa się”);
childStrVal=strVal+ „Programowanie Java”;
}
//Kolejna metoda łączenia ciągów
Strunowy łączyć()
{
powrót ten.childStrVal;
}
//metoda main()
publiczny statyczny próżniaGłówny( Strunowy []argumenty) {
//Utwórz obiekt
con3 obj= Nowycon3();
//Wydrukuj wartości właściwości obiektu
System .na zewnątrz.wydrukować(obj.łączyć());
}
}
Wyjście:
Poniższy obraz przedstawia dane wyjściowe kodu. Pierwsza wiadomość jest wypisywana z konstruktora nadrzędnego, podczas gdy druga wiadomość jest wypisywana z konstruktora potomnego. Ostatnia wiadomość jest drukowana przez wywołanie ‘ łączyć() ' metoda.
Wniosek
Koncepcja konstruktora i zastosowania różnych konstruktorów są wyjaśnione w tym samouczku za pomocą prostych przykładów kodu Java, które mogą śledzić początkujący użytkownicy. Mamy nadzieję, że te przykłady pomogły ci zrozumieć podstawy konstruktora Java.