Java und C# sind beide Programmiersprachen. Es handelt sich um zwei Sprachen in zwei verschiedenen Richtungen.
Gleiche Punkte:
Beide sind objektorientierte Sprachen, das heißt, sie können alle objektorientierte Ideen implementieren (Kapselung, Vererbung, Polymorphismus).
Unterschied:
1. Der Namespace in c# ähnelt dem Paket in Java, verwenden Sie import und in c# using.
2. Sowohl c# als auch Java geben die Hauptfunktion ein, aber der erste Buchstabe der Hauptfunktion in c# muss groß geschrieben werden. Es gibt vier Möglichkeiten, ihn wie folgt zu schreiben:
static void Main(string args[]){ }
static int Main(string args[]){}
static void Main(){}
static void Main(){}
Und in Java gibt es nur eine Form: static void main(String [] args){}
3. Datentyp: Java und C# sind grundsätzlich gleich, aber der erste Buchstabe des String-Typs in Java muss großgeschrieben werden, während er in C# klein geschrieben oder groß geschrieben werden kann, und es gibt auch einen booleschen Typ, der in Java boolean und bool ist in C#.
4. Benennung von Variablen: Das $-Symbol kann in Java verwendet werden, jedoch nicht in C#.
5. Hinweis: Java hat einen „///“-Dokumentationskommentar weniger als C#.
6. Ausgabe: C# bietet drei Möglichkeiten zur Ausgabe: Cosole.WriteLine(); Cosole.WriteLine („Formatzeichenfolge“, Variablenliste); in Java Die Verwendung der Methode .println() ist dieselbe. Die Ausgabe der dritten Methode basiert auf Platzhaltern, was praktischer ist als in Java.
7. Kontrollflussanweisung: C# ähnelt Java, und der Schalter in C# muss eine Pause haben, wenn nach dem Fall ein Inhalt vorhanden ist; Java benötigt keine Pause
8. Array: Die Deklaration in beiden Sprachen verwendet das Schlüsselwort new. Sie können das Array beim Erstellen initialisieren, z. B.: int a[]={1,2,3,5,5}, aber C# hat zwei weitere Initialisierungen als Java, z. B.: int a[]=new int[3 ]{1, 2,3};
9. In Methoden übergebene Parameter: Beide Sprachen verwenden Pass-by-Value und Pass-by-Reference.
Die von C#-Referenzen übergebenen Schlüsselwörter sind ref und out, ref konzentriert sich auf die Änderung und out konzentriert sich auf die Ausgabe. In Java wird der Wert übergeben;
10. Zugriffsmodifikatoren: Die Zugriffsmodifikatoren in C# entsprechen im Wesentlichen denen in Java, es gibt jedoch eine zusätzliche interne Funktion. Kurz gesagt, C# verfügt über die folgenden fünf Arten der Zugänglichkeit:
Öffentlich: Auf Mitglieder kann von jedem Code aus zugegriffen werden. protected: Auf Mitglieder kann nur von abgeleiteten Klassen aus zugegriffen werden.
intern: Auf Mitglieder kann nur innerhalb derselben Versammlung zugegriffen werden.
geschützt: Auf das Mitglied kann nur von abgeleiteten Klassen innerhalb derselben Assembly zugegriffen werden.
privat: Auf Mitglieder kann nur innerhalb der aktuellen Klasse zugegriffen werden.
11. Da das Schlüsselwort „final“ in C# nicht existiert, können Sie eine Klasse mit dem Schlüsselwort „sealed“ versiegeln, wenn Sie möchten, dass sie nicht mehr abgeleitet wird.
12. Sammlungen: Beide Sprachen verfügen über eine ArrayList-Sammlung, und der Zugriff auf Werte über den Schlüssel erfolgt über HashMap in Java und HashTable in C#. C# ist einfacher als die multigenerischen Sammlungen List
13. Vererbung: Java verwendet das Schlüsselwort „extends“ und C# verwendet nur „:“ zum Aufrufen der Konstruktormethode der übergeordneten Klasse. Java verwendet das Schlüsselwort „super“, während C# das Schlüsselwort „base“ verwendet.
14. Polymorphismus: Sowohl abstrakte Klassen als auch abstrakte Methoden verwenden das Schlüsselwort abstract in beiden Sprachen. Wenn eine andere Klasse in Java sie erbt, kann sie diese Methode direkt überschreiben, während in C# das Schlüsselwort override hinzugefügt werden muss, um sie zu implementieren. C# verfügt außerdem über eine virtuellere Methode mehr als Java, um Polymorphismus zu implementieren.
15. Schnittstelle: Sie werden alle mit dem Schlüsselwort „interface“ definiert, Java wird mit dem Schlüsselwort „implements“ implementiert; C# wird mit „:“ implementiert. In C# sind alle Methoden innerhalb einer Schnittstelle standardmäßig öffentliche Methoden. In Java kann eine Methodendeklaration den öffentlichen Modifikator haben (obwohl dies nicht erforderlich ist), aber in C# ist es illegal, den öffentlichen Modifikator explizit für eine Methode einer Schnittstelle anzugeben.
16. Der is-Operator in C# ist derselbe wie der „instanceof“-Operator in Java. Beide können verwendet werden, um zu testen, ob eine Instanz eines Objekts zu einem bestimmten Typ gehört. In Java gibt es keinen äquivalenten Operator zum as-Operator in C#. Der as-Operator ist dem is-Operator sehr ähnlich, aber er ist „aggressiver“: Wenn der Typ korrekt ist, versucht der as-Operator, die zu testende Objektreferenz in den Zieltyp umzuwandeln, andernfalls setzt er die Variablenreferenz auf null .
17. Der Enumerator ist der Enum-Typ (kein in Java), der als Variablenwerttyp verwendet wird und somit den möglichen Wertebereich der Variablen auf die Werte beschränkt, die im Enumerator erscheinen.
18. Struktur ist einer Klasse sehr ähnlich, und eine Struktur ist ein Werttyp, der auf dem Stapel gespeichert oder eingebettet ist. Die Struktur kann Schnittstellen implementieren und Mitglieder wie eine Klasse haben, aber die Struktur unterstützt keine Vererbung.
19. C# behält Zeiger. Unsicher. (Es ist nicht sicher, Zeiger in C# zu verwenden, der letzte muss überprüft werden)
php Chinesische Website, eine große Anzahl kostenloser Java-Einführungs-Tutorials, willkommen zum Online-Lernen!
Das obige ist der detaillierte Inhalt vonWas sind die Unterschiede zwischen C# und Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!