Samouczek konstruktora Java

Java Constructor Tutorial



Narzędzie konstruktora jest bardzo ważną i użyteczną metodą wykorzystywaną do programowania obiektowego. Deklarowanie konstruktora dla dowolnej klasy nie jest obowiązkowe, a narzędzie to służy głównie do inicjalizacji obiektu klasy w momencie tworzenia obiektu. Konstruktor nie działa jak inne normalne metody. Zamiast tego narzędzie konstruktora jest wywoływane automatycznie po zadeklarowaniu obiektu i przydziela lokalizację pamięci dla obiektu. Ten samouczek pokaże Ci, jak różne typy konstruktorów zdefiniowanych przez użytkownika mogą być implementowane i używane w programowaniu klas Java.

Cechy Konstruktora

  1. Nazwa konstruktora musi być taka sama jak nazwa klasy.
  2. Zwracany typ jest nieważny.
  3. Konstruktor nie może być statyczny, abstrakcyjny i ostateczny.

Rodzaje konstruktorów







  1. Domyślny
  2. Bezparametrowe
  3. 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.