Heim > Java > JavaErste Schritte > Was ist ein Java-Konstruktor?

Was ist ein Java-Konstruktor?

爱喝马黛茶的安东尼
Freigeben: 2019-11-12 09:26:44
Original
4181 Leute haben es durchsucht

Was ist ein Java-Konstruktor?

Der Konstruktor ist ein Mitglied des objektorientierten Systems. Sein Funktionsname ist derselbe wie der Klassenname Rückgabewerttyp und kein spezifischer Rückgabewert. Der Konstruktor ist eine Funktion, die beim Erstellen eines erstellten Objekts aufgerufen wird. Seine Funktion besteht darin, das Objekt zu initialisieren. Wenn in einer Klasse kein Konstruktor definiert ist, verfügt die Klasse über einen Standardkonstruktor mit leeren Parametern. Wenn in einer Klasse ein angegebener Konstruktor definiert ist, gibt es in der Klasse keinen Standardkonstruktor.

Bei unserer Geburt erhalten einige Menschen Namen, nachdem sie geboren wurden, aber manche Menschen erhalten bereits Namen, sobald sie geboren sind. Wie weisen wir also Objekten Werte zu, nachdem sie in Java erstellt wurden?

Was ist ein Java-Konstruktor?

Was ist ein Java-Konstruktor?

1. Die Rolle des Konstrukteurs:

Die Rolle des Konstrukteurs: Führen Sie Operationen an der Objektinitialisierung durch.

Wie gezeigt:

Was ist ein Java-Konstruktor?

2. Der Unterschied zwischen Konstruktoren und gewöhnlichen Funktionen:

(1) Allgemein Funktionen werden verwendet, um die Funktionalität zu definieren, die ein Objekt haben soll. Der Konstruktor definiert einige Inhalte, die das Objekt haben sollte, wenn es erstellt wird, bevor die Funktion aufgerufen wird. Das heißt, der Initialisierungsinhalt des Objekts.

(2) Der Konstruktor wird von JVM aufgerufen, wenn das Objekt erstellt wird, um das Objekt zu initialisieren. Im Allgemeinen wird eine Funktion ausgeführt, wenn das Objekt die Funktion aufruft, nachdem das Objekt erstellt wurde.

(3) Gewöhnliche Funktionen können mithilfe von Objekten mehrmals aufgerufen werden, und der Konstruktor wird aufgerufen, wenn das Objekt erstellt wird.

(4) Der Funktionsname des Konstruktors muss mit dem Klassennamen identisch sein, und normale Funktionen müssen nur den Namensregeln für Bezeichner entsprechen.

(5) Der Konstruktor hat keinen Rückgabewerttyp.

3. Zu beachtende Details im Konstruktor:

(1) Wenn in der Klasse kein Konstruktor definiert ist, weist das System einen leeren Parameter zu der Konstruktor der Klasse. Dies ist der Standardkonstruktor in der Klasse. Wenn ein Konstruktor in einer Klasse angepasst wird, verschwindet der Standardkonstruktor.

Hinweis: Dies kann mit dem Befehl javap überprüft werden.

(2) In einer Klasse können mehrere Konstruktoren definiert werden, um unterschiedliche Initialisierungen durchzuführen. In einer Klasse gibt es mehrere Konstruktoren, die in Form von Überladung verkörpert sind. Weil die Namen der Konstrukteure alle gleich sind.

class Perosn{
private int id;
private String name;
private int age;
public Perosn(){
cry();
}
public Perosn(int id, String name, int age) {
this.id = id;
this.name = name;
this.age = age;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public void cry(){
System.out.println("哇哇哇....");
}
}
Nach dem Login kopieren

Frage: Bei der Geburt muss jedes Kind weinen. Dieser Code verfügt über zwei Konstruktoren. Wenn jedes Kind bei der Geburt weinen muss, führt dies jedoch zu Problemen bei der Codeduplizierung , also wie kann man es lösen? Konstruieren Sie Codeblöcke.

4. Konstruktionscodeblock:

Die Funktion des Konstruktionscodeblocks: alle Objekte einheitlich zu initialisieren.

class Perosn{
private int id;
private String name;
private int age;
{
cry();// 每个Person对象创建出来都会执行这里的代码
}
public Perosn(){
cry();
}
public Perosn(int id, String name, int age) {
this.id = id;
this.name = name;
this.age = age;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public void cry(){
System.out.println("哇哇哇....");
}
}
Nach dem Login kopieren

Spezifische Funktionen:

1: Initialisieren Sie das Objekt. Wird ausgeführt, sobald das Objekt erstellt wird, und hat Vorrang vor dem Konstruktor.

2: Unterschied zum Konstruktor

(1) Der Unterschied zwischen konstruiertem Codeblock und Konstruktorfunktion besteht darin, alle Objekte einheitlich zu initialisieren, und die Konstruktorfunktion ist es Das entsprechende Objekt wird initialisiert.

(2) Die Funktion des Konstruktionscodeblocks: Seine Funktion besteht darin, die gemeinsamen Informationen in allen Konstruktionsmethoden zu extrahieren.

Zum Beispiel weint ein Kind gleichmäßig, wenn es geboren wird

Der Code lautet wie folgt:

class Boy {
 
String name;
int age;
String gender;
     // 构造代码块,给所有对象进行初始化。
{
System.out.println("哭。。。");
}
     
Boy() {
System.out.println("无参构造");
}
 
Boy(String n, int a, String g) {
name = n;
age = a;
gender = g;
System.out.println("有参构造");
}
 
void run() {
System.out.println("跑...");
}
 
}
 
class Demo9 {
 
public static void main(String[] args) {
 
System.out.println();
Boy b = new Boy();
 
Boy b2 = new Boy("jack", 1, "男");
 
}
}
Nach dem Login kopieren

php Chinesische Website, eine große Anzahl kostenloser Java-Einführungs-Tutorials, willkommen beim Online-Lernen!

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