Heim > Java > javaLernprogramm > Hauptteil

Was ist ein Java-Konstruktor?

青灯夜游
Freigeben: 2020-09-18 08:57:15
Original
30019 Leute haben es durchsucht

Konstruktor, auch Konstruktormethode und Konstruktorfunktion genannt, ist ein spezieller Methodentyp, der für die Initialisierung von Mitgliedsvariablen (Feldern) in einer Klasse verantwortlich ist. Der Zweck des Konstruktors besteht darin, beim Erstellen eines Objekts eine Initialisierung durchzuführen. Wenn ein Objekt erstellt wird, führt das System eine Standardinitialisierung für die Instanz des Objekts durch.

Was ist ein Java-Konstruktor?

Was ist ein Konstruktor?

1. Seine Funktion besteht darin, eine Instanz einer Klasse zu erstellen und sicherzustellen, dass das Objekt initialisiert wird.

2. Konstruktorformat: Name der Berechtigungsmodifikatorklasse (keine Parameter/mit Parametern){}.

3. Abhängig davon, ob Parameter vorhanden sind, kann es in Parameterlose Konstruktion und Parametrisierte Konstruktion unterteilt werden.

Der größte Nutzen des Konstruktors besteht darin, beim Erstellen eines Objekts eine Initialisierung durchzuführen. Wenn ein Objekt erstellt wird, führt das System eine Standardinitialisierung für die Instanz des Objekts durch. Wenn Sie diese Standardinitialisierung ändern möchten, können Sie dies über einen benutzerdefinierten Konstruktor tun.

Konstruktoren können zum Initialisieren von Datenelementen verwendet werden, wenn Objekte initialisiert werden. Eine Klasse kann mehrere Konstruktoren haben. Der Name des Konstruktors einer Klasse muss mit dem Namen der Klasse übereinstimmen. Um die Konstruktion zu verlassen, können Sie die Rückgabeanweisung „return;“ verwenden.

Eigenschaften des Konstruktors

1 muss mit der Klasse identisch sein. Der Name bleibt konsistent und es gibt keinen Rückgabewert, nicht einmal void.

2. Der Java-Compiler erstellt automatisch einen Parameterlosen Konstruktor, sodass wir ihn auch dann weglassen können, wenn es keinen Parameterlosen Konstruktor in der Klasse gibt. Beim Instanziieren eines Objekts muss kein Wert zugewiesen werden.

3 Wenn in der Klasse bereits ein parametrisierter Konstruktor vorhanden ist, stellt der Compiler keinen standardmäßigen Konstruktor ohne Parameter mehr bereit. Beim Instanziieren eines Objekts muss ein Wert zugewiesen werden, andernfalls wird ein Fehler gemeldet.

4. Die Konstruktormethode wird automatisch aufgerufen, wenn die Klasse ein Objekt instanziiert.

5. Kann nicht durch statische, endgültige, synchronisierte, abstrakte und native Änderungen geändert werden. Konstruktoren können nicht von Unterklassen geerbt werden

6. Jede Klasse kann null oder mehr Konstruktoren haben.

Beispiel 1: Konstruktion ohne Argumente

Studentenklasse

public class Student {
   //权限修饰符是public,表示内部属性能被其他类访问到。若使用private,则需要set/get才能访问
   public String name;
   public int age;

   //无参构造,编译器自带,可不写。
   public Student(){
       System.out.println("括号内无参数,这就是无参构造");
   }
}
Nach dem Login kopieren

Testklasse

public class Test  {
    public static void main(String[] args)  {
        Student st = new Student();//创建对象,括号内无需赋值
        //没赋值的情况下,字符类型默认值为null,数值类型默认值为0
        System.out.println(st.name+" "+st.age);//null,0

        //对属性进行赋值
        st.name="Tom猫";
        st.age=5;
        System.out.println(st.name+"今年"+st.age+"岁了");
    }
}
Nach dem Login kopieren

Ergebnis

括号内无参数,这就是无参构造
null 0
Tom猫今年5岁了
Nach dem Login kopieren

Beispiel 2: Parametrische Konstruktion

Studentenklasse

public class Student {
   //权限修饰符是public,表示内部属性能被其他类访问到。若使用private,则需要set/get才能访问
   public String name;
   public int age;

   //无参构造最好也写上
   public Student(){

   }
   public Student(String name,int age){
       System.out.println("括号内有参数,就是有参构造");
       //将形参变量的值,赋给成员变量。
       this.name = name;
       this.age = age;
     //this.name = "吴邪"  若直接在构造方法内部赋值,则优先执行其内部的值,即吴邪会替掉Tom猫

   }
}
Nach dem Login kopieren

Testklasse

public class Test  {
    public static void main(String[] args)  {
        //创建对象。赋值后,定义的值会传递给构造器中的形参变量。
        Student st = new Student("Tom猫",5);//创建对象,须在括号内赋值,不然报错
        //使用对象调用成员变量(java对象只能调用成员变量)
        System.out.println(st.name+"今年 "+st.age+"岁了");
    }
}
Nach dem Login kopieren

Ergebnis

括号内有参数,就是有参构造
Tom猫今年5岁了
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWas ist ein Java-Konstruktor?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!