Nadejście Javy szturmem podbiło świat programowania, a głównym powodem tego jest liczba funkcji, które przyniosła. W tym artykule omówimy przeciążenie konstruktora w . Poniższe wskazówki zostaną omówione w tym artykule,
Przeciążanie konstruktorów w Javie
Co to jest konstruktor?
Konstruktor to blok kodu używany do tworzenia obiektu klasy. Każda klasa ma konstruktora, czy to normalnej, czy abstrakcyjnej. Konstruktor jest jak metoda, ale bez typu zwracanego. Gdy dla klasy nie zdefiniowano żadnego konstruktora, kompilator tworzy konstruktor domyślny.
co to jest programista iOS
Przykład
public class Student {// no constructor private String name private int age private String std // pobierające i ustawiające public void display () {System.out.println (this.getName () + '' + this.getAge () + ' '+ this.getStd ())} public static void main (String args []) {// aby użyć metody wyświetlania klasy Student, utwórz obiekt Student Student student = new Student () // ponieważ nie zdefiniowaliśmy żadnego konstruktora , kompilator tworzy domyślny konstruktor. tak, że student.display ()}}
W powyższym programie konstruktor domyślny jest tworzony przez kompilator w celu utworzenia obiektu. Koniecznie trzeba mieć konstruktora.
To prowadzi nas do następnej części tego artykułu na tematPrzeciążanie konstruktora w Javie.
Potrzeba innych konstruktorów
W powyższym przykładzie obiekt Studenta można utworzyć tylko za pomocą domyślnego konstruktora. Gdzie wszystkie inne atrybuty studenta nie są zainicjowane. Ale mogą istnieć inne konstruktory, które są używane do inicjalizacji stanu obiektu. na przykład -
public class Student {// attributes String name int age String std // Konstruktorzy public Student (String name) {// Constructor 1 this.name = name} public Student (String name, String std) {// Constructor 2 this.name = name this.std = std} public Student (String name, String std, int age) {// Konstruktor 3 this.name = name this.std = std this.age = age} public void display () {System.out .println (this.getName () + '' + this.getAge () + '' + this.getStd ())} public static void main (String args []) {Student stu1 = new Student ('ABC') stu1 .display () Student stu2 = new Student ('DEF', '5-C') stu2.display () Student stu3 = new Student ('GHI', '6-C', 12) stu3.display ()}}
To prowadzi nas do następnej części tego artykułu na tematPrzeciążanie konstruktora w Javie.
this () reference
odwołania this () można użyć wewnątrz sparametryzowanego konstruktora do niejawnego wywołania konstruktora domyślnego. Proszę zauważyć, że this () powinno być pierwszą instrukcją wewnątrz konstruktora.
Przykład
public Student () {} // Konstruktor 4 public Student (String name, String std, int age) {// Konstruktor 3 this () // wywoła domyślny konstruktor. * Jeśli nie jest to pierwsza instrukcja konstruktora, wystąpi BŁĄD * this.name = name this.std = std this.age = age
Uwaga
- Rekurencyjne wywołanie konstruktora jest nieprawidłowe w java
- Jeśli zdefiniowaliśmy konstruktor sparametryzowany, kompilator nie utworzy konstruktora domyślnego. i odwrotnie, jeśli nie zdefiniujemy żadnego konstruktora, kompilator domyślnie utworzy konstruktor domyślny (znany również jako konstruktor bezargumentowy) podczas kompilacji
- Wywołanie konstruktora musi być pierwszą instrukcją konstruktora w Javie
W ten sposób doszliśmy do końca artykułu o „Przeciążaniu konstruktorów w Javie”. Jeśli chcesz dowiedzieć się więcej, zapoznaj się z autorstwa Edureka, zaufanej firmy zajmującej się edukacją online. Szkolenie i certyfikacja J2EE i SOA firmy Edureka ma na celu przeszkolenie zarówno podstawowych, jak i zaawansowanych koncepcji języka Java, a także różnych struktur Java, takich jak Hibernate i Spring.
Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy na tym blogu, a skontaktujemy się z Tobą tak szybko, jak to możliwe.