JavaRush /Java-Blog /Random-DE /Kaffeepause Nr. 118. Was ist der Unterschied zwischen C++...

Kaffeepause Nr. 118. Was ist der Unterschied zwischen C++- und Java-Sprachen? Private Konstruktoren in Java

Veröffentlicht in der Gruppe Random-DE

Was ist der Unterschied zwischen C++ und Java?

Quelle: Hackernoon Die Programmiersprachen C++ und Java gehören heute zu den beliebtesten. Lassen Sie uns die Hauptunterschiede zwischen C++ und Java besprechen. Kaffeepause Nr. 118.  Was ist der Unterschied zwischen C++- und Java-Sprachen?  Private Konstruktoren in Java - 1Java ist eine Allzweck-Programmiersprache. Es gehört zu den objektorientierten Sprachen. Die Erfinder von Java wollten das WORA-Prinzip – „Write Once, Run Anywhere“ – umsetzen. Das heißt, wenn Sie eine in Java geschriebene Anwendung entwickeln, kann diese auf jeder Plattform ausgeführt werden, sofern darauf die Java Runtime Environment (JRE) installiert ist. Das Programm wird ausgeführt, indem es in Java geschriebenen Code in Bytecode kompiliert. Dieses Format wird mit der JVM, also der Java Virtual Machine, ausgeführt. Dementsprechend ist die JVM Teil des Java Runtime Environment (JRE). Die virtuelle Maschine ist plattformunabhängig. Java verfügt außerdem über einen Speicherverwaltungsmechanismus namens Garbage Collector (GC). Der Entwickler erstellt Objekte und die JRE verwendet den Garbage Collector, um den Speicher zu bereinigen, wenn die Objekte angehalten werden. Die Syntax der Java-Sprache ähnelt der anderer C-ähnlicher Sprachen. Hier sind einige seiner Funktionen:
  • Groß- und Kleinschreibung – Benutzer und Benutzer-ID in Java sind unterschiedliche Einheiten.

  • Methodenname . Wenn der Methodenname aus einem Wort besteht, muss er mit einem Kleinbuchstaben beginnen. Beispiel: firstMethodName() .

  • UpperCamelCase wird zum Benennen von Klassen verwendet. Besteht der Name aus einem Wort, muss er mit einem Großbuchstaben beginnen. Beispiel: FirstClassName .

  • Der Name der Programmdateien muss unter Berücksichtigung der Groß- und Kleinschreibung genau mit dem Namen der Klasse übereinstimmen. Wenn die Klasse beispielsweise FirstClassName heißt, sollte die Datei FirstClassName.java heißen .

  • Bezeichner beginnen immer mit einem Buchstaben (AZ, az), $ oder einem Unterstrich _.

Was ist die Sprache C++?

C++ ist eine kompilierte, stark typisierte Allzweck-Programmiersprache. Es unterstützt verschiedene Programmierparadigmen: prozedural, generisch, funktional; Das meiste Augenmerk wird auf die Unterstützung der objektorientierten Programmierung gelegt. Im Wesentlichen besteht C++ aus einer Reihe von Befehlen, die dem Computer sagen, was er tun soll. Dieser Befehlssatz wird üblicherweise Quellcode oder einfach Code genannt. Befehle sind entweder „Funktionen“ oder „Schlüsselwörter“. Schlüsselwörter (für C/C++ reservierte Wörter) sind die Grundbausteine ​​der Sprache. Funktionen sind komplexe Bausteine, da sie als einfachere Funktionen geschrieben sind. Die Struktur der C++- und Java-Funktionen ähnelt dem Inhalt des Buches. Das Inhaltsverzeichnis kann Kapitel eines Buches anzeigen; jedes Kapitel in einem Buch kann ein eigenes Inhaltsverzeichnis haben, das aus Absätzen besteht; Jeder Absatz kann eigene Unterabsätze haben. Obwohl C++ viele allgemeine Funktionen und reservierte Wörter bereitstellt, die Sie verwenden können, erfordert die Sprache dennoch, dass Sie Ihre eigenen Funktionen schreiben.

Hauptunterschiede zwischen C++ und Java

Sowohl Java als auch C++ sind objektorientierte Programmiersprachen, aber hier enden ihre Gemeinsamkeiten. Es gibt weitere Unterschiede zwischen ihnen. Natürlich gibt es einen entscheidenden Unterschied zwischen C++ und Java, wenn es um die Auswahl einer der Sprachen für die Entwicklung eines Projekts oder eines anderen spezifischen Falls geht. Hier sind die Kriterien, auf die Sie achten sollten.

Bibliotheken

Java oder C++? Welche Bibliothek ist größer oder besser? Java verfügt über viele weitere Bibliotheken. Aber woher wissen Sie, welche Sie verwenden sollten und welche nicht? Hier ist eine kurze Beschreibung einiger davon:
  • lang, util, nio, io, net.
  • Java verfügt auch über Bibliotheken für die Arbeit mit GUI-Frameworks: javax.swing (eine ziemlich veraltete Erweiterung des noch älteren java.awt).
  • Sie können sogar Musik abspielen und MIDI-Dateien mit java.sound usw. erstellen.
Die Sprache C++ verfügt über die C-Standardbibliothek und die C++-Standardbibliothek. Entwickler sollten zunächst sicherstellen, dass sie den Unterschied zwischen C und C++ verstehen. Darüber hinaus müssen sie die Bibliotheken studieren, die sie in einem bestimmten Projekt verwenden werden. Java verfügt über eine integrierte Unterstützung für Dokumentationskommentare. C++ unterstützt keine Dokumentationskommentare. Sie können auch einen praktischen Online-Java-Compiler verwenden.

Eingabemechanismus

Java wird primär interpretiert, ist also plattformunabhängig. C++ generiert Objektcode; Derselbe Code kann nicht auf verschiedenen Plattformen ausgeführt werden.

Thread-Unterstützung

Java verfügt über eine integrierte Unterstützung für Threads. Java verfügt über Thread-Klassen, die geerbt werden, um einen neuen Thread zu erstellen und die Startmethode zu überschreiben. Bitte beachten Sie, dass C++ keine native Threading-Unterstützung bietet. Für diese Zwecke werden nicht standardisierte Bibliotheken Dritter verwendet.

Unterstützende Methode

Java verfügt über eine Methodenüberladung, aber keine Operatorüberladung. Die Stringclass verwendet nicht die Operatoren + und +=, um Zeichenfolgen zu verketten, und Stringexpressions verwenden automatische Konvertierungstypen, aber dies ist ein spezieller integrierter Fall. C++ unterstützt sowohl Methodenüberladung als auch Operatorüberladung.

Speicherverwaltung

Java unterstützt die automatische Heap-Deallokationssteuerung, unterstützt jedoch keine Destruktoren. In C++ wird die Unterstützung für Destruktoren automatisch aktiviert, wenn ein Objekt zerstört wird.

Mehrfachvererbung

Java bietet keine Mehrfachvererbung, zumindest nicht auf die gleiche Weise wie C++. Mehrfachvererbung ist eine Funktion von C++, bei der eine Klasse von mehr als einer Klasse erben kann.

Abschluss

Das ist der ganze Unterschied zwischen Java und C++. Die Java-Sprache ist ideal für kommerzielle Projekte. Es ist in großen Unternehmen sehr gefragt, da die Pflege und Umgestaltung bestehender Projekte immer relevant bleiben wird – zumindest in Banken und anderen Finanzinstituten. Sie kommen mit der plattformübergreifenden Entwicklung recht gut zurecht und können damit ein System für jede beliebige Plattform erstellen. C++ hat gegenüber Java jedoch noch weitere Vorteile, wie z. B. die Unterstützung sowohl der Methoden- als auch der Operatorüberladung, die Unterstützung von Destruktoren usw.

Private Konstruktoren in Java

Quelle: Dev.to Ein Konstruktor in Java ist ein spezieller Methodentyp, der denselben Namen wie der Klassenname oder Dateiname hat. Wenn wir ein Objekt aufrufen, wird immer der interne Konstruktor aufgerufen. Es wird hauptsächlich verwendet, um den Status eines Objekts oder die Werte von Variablen in einer Klasse zu initialisieren. Kaffeepause Nr. 118.  Was ist der Unterschied zwischen C++- und Java-Sprachen?  Private Konstruktoren in Java - 2Sehen wir uns nun an, was private Konstruktoren sind. Java ermöglicht es uns, Methoden abhängig von unserer Nutzung zu ändern. Können wir den Konstruktor also wie andere Methoden privat machen? Und wenn ja, welchen Nutzen hat dann ein privater Konstruktor? Antwort: Ja, wir können einen Konstruktor in Java mithilfe des privaten Zugriffsspezifizierers als privaten Konstruktor deklarieren. Denken Sie jedoch daran, dass wir kein Objekt der Klasse erstellen können, wenn wir den Konstruktor als privat deklarieren. Stattdessen können wir diesen privaten Konstruktor im Singleton-Entwurfsmuster verwenden. Regeln für private Konstrukteure:
  • Es ist nicht möglich, dass eine Klasse eine Unterklasse ist.
  • Ermöglicht Ihnen nicht, ein Objekt außerhalb der Klasse zu erstellen.
  • Wenn eine Klasse über einen privaten Konstruktor verfügt, tritt beim Versuch, die Klasse zu erweitern, ein Fehler bei der Kompilierung auf.
  • Wir können von keiner anderen Klasse aus auf einen privaten Konstruktor zugreifen.
  • Wenn unsere Klasse alle konstanten Methoden hat, können wir einen privaten Konstruktor verwenden.
  • Wenn alle Methoden statisch sind, können wir einen privaten Konstruktor verwenden.
  • Wir können eine öffentliche Funktion verwenden, um einen privaten Konstruktor aufzurufen, wenn das Objekt nicht initialisiert ist.
  • Wir können eine Instanz dieses Objekts nur zurückgeben, wenn das Objekt bereits initialisiert ist.

public class PrivateConstructorDemo   
{  
     //creating an instance variable of the class Tester  
     private static PrivateConstructorDemo pcd;  
     //creating a private constructor  
     private PrivateConstructorDemo()  
     {  
     }  
    //creating a static method named getInstance()  
    public static PrivateConstructorDemo getInstance()  
    {  
       if(pcd == null)  
       {  
        //creating a constructor of the class      
        pcd = new PrivateConstructorDemo();  
       }  
     return pcd;  
    }  
    //main() method  
    public static void main(String args[])   
    {  
     PrivateConstructorDemo pcd = PrivateConstructorDemo.getInstance();  
    PrivateConstructorDemo pcd1 = PrivateConstructorDemo.getInstance();  
    //invokes the getInstance() method and prints the corresponding result  
    System.out.println(pcd.equals(pcd1));  
   }    
}
Abschluss:
WAHR
Schauen wir uns nun die Anwendungsfälle für private Konstruktoren an. Der Hauptzweck der Verwendung eines privaten Konstruktors besteht darin, die Erstellung von Objekten einzuschränken. Private Konstruktoren werden auch zur Implementierung des Singleton-Entwurfsmusters verwendet. Die Optionen für die Verwendung eines privaten Konstruktors sind wie folgt:
  • Es kann mit statischen Nur-Mitglieder-Klassen verwendet werden.
  • Es kann mit statischen Dienstprogrammen oder konstanten Klassen verwendet werden.
  • Es kann auch zum Erstellen von Singleton-Klassen verwendet werden.
  • Es kann zur Benennung verwendet werden, beispielsweise zur Erstellung mithilfe von Factory-Methoden.
  • Es wird auch verwendet, um Unterklassen zu vermeiden.
  • Es umfasst Factory-Methoden.
Ich hoffe, Sie haben durch diesen Beitrag mehr über Java-Konstruktoren erfahren.
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION