


Warum benötigt die Object-Klasse in Java einen Nullparameter-Konstruktor?
Warum hat die Object-Klasse in Java einen leeren Konstruktor? Andere Klassen müssen nicht explizit parameterlose Konstruktoren definieren, da sie die Object-Klasse und damit die Object-Konstruktormethode erben.
Object ist die übergeordnete Klasse aller Klassen, es gibt keine anderen Klassen, die es erben, daher muss es einen Konstruktor ohne Argumente für die Instanziierung haben.
Java ist eine plattformübergreifende objektorientierte Programmiersprache mit hervorragender Vielseitigkeit, Effizienz, Plattformportabilität und Sicherheit. Es wird häufig in PCs, Rechenzentren, Spielekonsolen, wissenschaftlichen Supercomputern, Mobiltelefonen und im Internet eingesetzt. Gleichzeitig verfügt Java über die größte professionelle Entwicklergemeinschaft der Welt und bietet eine solide Grundlage für seine weitere Entwicklung und Innovation.
Objektobjekte werden oft verwendet, um einige Objekte um uns herum in der realen Welt nachzuahmen.
Ein Softwareobjekt ist ein Modell eines realen Objekts mit Zustand und Verhalten. Der Status wird durch Variablen verwaltet, die durch Benutzerkennungen benannt werden. Methoden sind mit einem Objekt verknüpfte Funktionen, die das Verhalten des Objekts ausführen. Daher ist ein Softwareobjekt ein Modell, das den Zustand durch Variablen aufrechterhält und das Verhalten durch Methoden ausführt.
Objekte sind der Schlüssel zum Verständnis objektorientierter Technologie. Vor dem Lernen können Sie reale Objekte wie Hunde, Tische, Fernseher, Fahrräder usw. beobachten. Diese Objekte haben zwei gemeinsame Eigenschaften: Zustand und Verhalten. Hunde haben beispielsweise ihre eigenen Zustände (wie Name, Farbe, Fruchtbarkeit, Hunger usw.) und Verhaltensweisen (wie Schwanzwedeln). Ebenso verfügt ein Fahrrad über einen Zustand (z. B. aktueller Gang, Räder usw.) und ein Verhalten (z. B. Bremsen, Beschleunigen, Abbremsen und Gangwechsel). Durch die Beobachtung dieser Objekte können wir die objektorientierte Technologie besser verstehen.
Was bedeutet es, einen leeren C-Konstruktor-Funktionskörper zu schreiben?
Objektinstanziierung und Dateninitialisierung erfolgen normalerweise über Konstruktoren. In Java erben alle Klassen von der Object-Klasse, sodass der leere Parameterkonstruktor der Object-Klasse standardmäßig geerbt wird. Das bedeutet, dass selbst dann, wenn Sie keinen Nullkonstruktor schreiben, dieser immer noch existiert. Allerdings werden parametrisierte Konstruktoren im Allgemeinen von Entwicklern selbst geschrieben. Der parametrisierte Konstruktor funktioniert ähnlich wie der Konstruktor mit leeren Parametern, kann jedoch Parameter empfangen und einige spezifische Initialisierungsvorgänge ausführen. Daher ermöglichen parametrisierte Konstruktoren mehr Flexibilität bei der Initialisierung der Daten eines Objekts. Zusammenfassend ist der leere Parameterkonstruktor der von der Object-Klasse geerbte Standardkonstruktor, während der parametrisierte Konstruktor vom Entwickler selbst geschrieben wird und Parameter empfangen und bestimmte Initialisierungsvorgänge ausführen kann.
Lassen Sie mich Ihnen ein Beispiel zur Veranschaulichung geben
Es gibt eine Klasse Monitor mit den Attributen String height;String
Breite
public Monitor(){}
public Monitor(String height,String width){}
Eine Konstruktormethode mit einem leeren Parameter und einer mit Parametern
In der Hauptmethode führe ich die Initialisierungsaktion durch
Monitor monitor=new Monitor();
Diese Struktur erstellt nur das Anzeigeobjekt und seine Eigenschaften haben keinen Wert. Sie können ihm auch manuell Werte zuweisen
Zum Beispiel: monitor.height=100;monitor.width=200;
Anders ist es, wenn man solche mit Ginseng verwendet, man muss sich um viel weniger Sorgen machen
Monitor monitor2=neuer Monitor("100","200");
Hier muss ich nur die Parameter eingeben, die ich direkt eingeben möchte, um meinen Attributen Werte zuzuweisen. Spart das viel Arbeit?
Das ist sein Vorteil!
Antwort abgeschlossen!
Der Konstruktor ist eine spezielle Methode, die hauptsächlich dazu verwendet wird, das Objekt beim Erstellen zu initialisieren, dh den Objektmitgliedsvariablen Anfangswerte zuzuweisen
Wird immer zusammen mit dem neuen Operator in Anweisungen verwendet, die Objekte erstellen. Eine spezielle Klasse kann über mehrere Konstruktoren verfügen. Sie können anhand der Anzahl der Parameter oder der Art der Parameter, d. h. der Überladung von Konstruktoren, unterschieden werden
Der Unterschied zwischen Konstruktor und anderen Methoden
1. Der Name des Konstruktors muss genau mit dem Klassennamen übereinstimmen, während die allgemeine Methode nicht mit dem Klassennamen identisch sein darf.
2. Die Funktion des Konstruktors wird hauptsächlich verwendet, um den Initialisierungsstatus zu definieren, wenn das Objekt der Klasse erstellt wird. Er hat keinen Rückgabewert und kann nicht mit void geändert werden. Dadurch wird sichergestellt, dass nichts automatisch zurückgegeben wird haben alle Select. Und andere Methoden haben Rückgabewerte, obwohl der Methodenkörper selbst nicht automatisch etwas zurückgibt, und diese Dinge können unsicher sein.
3. Der Konstruktor kann nicht direkt aufgerufen werden, wenn das Objekt über den neuen Operator aufgerufen wird
4. Beim Definieren einer Klasse wird normalerweise der Konstruktor der Klasse angezeigt, und die Initialisierungsarbeit kann in der Funktion weggelassen werden. Der Java-Compiler stellt einen Standardkonstruktor bereit habe diese Funktion
Einfach ausgedrückt wird der Konstruktor zum Erstellen von Objekten verwendet. Professioneller wird dies als Instanziierung von Objekten bezeichnet.
Definition:
Klasse A
{
public A(){}
}
Verwendung:
A a=new A(); //Hier ist A() der Konstruktor.
Zu beachten ist, dass der Compiler automatisch einen leeren Konstruktor generiert und jedem Mitglied der Klasse ein Standardwert zugewiesen wird, wenn in der Klasse kein Konstruktor definiert ist.
Aber wenn in der Klasse nur ein privater Konstruktor definiert ist, wird die Klasse nicht instanziiert.
Klasse A
{
string a;
private A() { }//Diese Klasse kann nicht instanziiert werden
}
Wenn wir einen Konstruktor mit Parametern definieren, aber keinen Konstruktor ohne Parameter, müssen beim Instanziieren eines Objekts dieser Klasse Parameter bereitgestellt werden.
Klasse A
{
string a;
public A(string str) {a=str }
}
Sie können das Objekt A a=new A();
nicht instanziierenKonstruktoren werden in dynamische Konstruktoren und statische Konstruktoren unterteilt.
Der dynamische Konstruktor weist einer Klasse oder Struktur bei der Instanziierung Speicherplatz zu und schließt die Initialisierung der Mitgliedsvariablen in der Klasse oder Struktur ab. Dynamische Konstruktoren können überladen sein, d. h. derselbe Konstruktorname verfügt über mehrere Konstruktoren unterschiedlichen Typs und unterschiedlicher Anzahl. Es gibt keinen wesentlichen Unterschied zwischen dem Konstruktor mit Parametern und dem Konstruktor ohne Parameter. Der Konstruktor mit Parametern kann durch die übergebenen Variablen gesteuert werden oder die Mitgliedsvariablen direkt initialisieren.
Statische Konstruktoren dürfen keine Parameter tragen, d. h. in einer Klasse ist nur ein statischer Konstruktor zulässig. Es wird vor dem ersten Zugriff auf ein statisches Mitglied oder der ersten Instanziierung eines dynamischen Objekts dieser Klasse aufgerufen.
c-Konstruktor generiert eine leere Zeichenfolge
#include
#include
using namespace std;
#define MAXLENGTH 1000
Klassen-CString
{
char m_buff[MAXLENGTH];
öffentlich:
CString(); //Konstruktor 1, auf leere Zeichenfolge gesetzt
~CString();
friend ostream& Operator
char-Operator[](int i)const;
};
CString::CString()
{
//m_buff[0]=NULL; Was meinst du?
memset(m_buff,0,sizeof m_buff); //String-Initialisierungsfunktion}
char CString::operator[](int i)const
{
return m_buff[i];
}
ostream& Operator {
return Out }
CString::~CString()
{
//delete[] m_buff; Bruder, du kannst delete nicht verwenden, ohne dass new delete dynamisch zugewiesen werden muss.
}
int main()//Im Allgemeinen schreiben Sie int
{
CString s1;
cout return 0; //Sie müssen es nicht schreiben
} Wie auch immer, es wird kein Fehler gemeldet. Ob die gewünschte Funktion realisiert werden kann, ist Ihre Sache. Der Weg zu C++ ist lang, also gehen Sie langsam.
Was ist eine Konstruktormethode in Java?
Die Konstruktionsmethode ist eine spezielle Methode, die sich von der allgemeinen Methode unterscheidet:
1. Der Name des Konstruktors muss genau mit dem Klassennamen übereinstimmen, in dem er definiert ist. Es gibt keinen Rückgabetyp, nicht einmal void.
2. Die Konstruktormethode wird beim Erstellen eines Objekts mit der neuen Operation aufgerufen. Die Funktion des Konstruktors besteht darin, das Objekt zu initialisieren.
3. Kann nicht durch statische, endgültige, synchronisierte, abstrakte und native Änderungen geändert werden. Konstruktoren können nicht von Unterklassen geerbt werden.
class RectConstructor{
doppelte Länge;
doppelte Breite;
doppelte Fläche(){
Rücklauflänge*Breite;
}
//Die folgende Methode ist die sogenannte Konstruktionsmethode. Sie hat keinen Rückgabewert und der Methodenname ist derselbe wie der Klassenname~~~
RectConstructor(double width,double length){//Konstruktormethode mit Parametern
this.length=length;
this.width=width;
}
}
Tatsächlich besteht die Konstruktionsmethode darin, den Mitgliedern der Klasse Anfangswerte zuzuweisen~~~~~~~~~~~~~~
Das obige ist der detaillierte Inhalt vonWarum benötigt die Object-Klasse in Java einen Nullparameter-Konstruktor?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Was bedeutet die Drive Health -Warnung in Windows -Einstellungen und was sollten Sie tun, wenn Sie die Festplattenwarnung erhalten? Lesen Sie dieses Php.cn-Tutorial, um Schritt-für-Schritt-Anweisungen zu erhalten, um diese Situation zu bewältigen.

In Artikel werden die Bearbeitungs -Windows -Registrierung, Vorsichtsmaßnahmen, Sicherungsmethoden und potenzielle Probleme aus falschen Änderungen erläutert. Hauptproblem: Risiken der Systeminstabilität und des Datenverlusts durch unsachgemäße Änderungen.

In Artikel werden die Verwaltung von Windows -Diensten für die Systemgesundheit erörtert, einschließlich Starten, Stoppen, Neustarten von Diensten und Best Practices für Stabilität.

In dem Artikel wird erläutert, wie der Gruppenrichtlinieneditor (Gpedit.MSC) in Windows verwendet wird, um die Systemeinstellungen zu verwalten, um gemeinsame Konfigurationen und Fehlerbehebungsmethoden hervorzuheben. Es stellt fest, dass gpedit.msc in Windows Home Editions nicht verfügbar ist, was schlägt, was vorschlägt, was vorschlägt

Möglicherweise sehen Sie, dass die „Verbindung zu den Windows Metadata und Internet Services (WMIS) nicht hergestellt werden konnte“. Fehler beim Ereigniszuschauer. In diesem Beitrag von PHP.CN wird das Problem der Windows -Metadaten und des Internet -Dienste entfernen.

In Artikeln werden Standard -Apps für Dateitypen unter Windows geändert, einschließlich Rückkehr- und Massenänderungen. Hauptproblem: Keine integrierte Option zur Änderung der Schüttung.

Der Dampfwolkenfehler kann durch viele Gründe verursacht werden. Um ein Spiel reibungslos zu spielen, müssen Sie einige Maßnahmen ergreifen, um diesen Fehler zu entfernen, bevor Sie das Spiel starten. PHP.CN -Software führt in diesem Beitrag einige beste Möglichkeiten sowie nützlichere Informationen ein.

KB5035942 Update -Probleme - Das Absturzsystem kommt häufig bei Benutzern vor. Die Menschen hoffen, einen Ausweg aus der Art von Schwierigkeiten herauszuholen, wie zum Beispiel eines Absturzsystems, Installation oder Klangprobleme. Targeting dieser Situationen, in diesem Beitrag, der von Php.cn Wil veröffentlicht wurde
