Maison Java javaDidacticiel Quelles sont les différences entre c# et java

Quelles sont les différences entre c# et java

Nov 11, 2019 pm 01:16 PM
c# java 区别

Quelles sont les différences entre c# et java

Java et C# sont tous deux des langages de programmation​​dans deux directions différentes.

Mêmes points :

Ce sont tous deux des langages orientés objet, c'est-à-dire qu'ils peuvent tous mettre en œuvre des idées orientées objet (encapsulation, héritage, polymorphisme).

Différence :

1. L'espace de noms en c# est similaire au package en Java. Pour importer un package en Java, utilisez import et en c#, utilisez using.

2. C# et Java entrent à partir de la fonction principale, mais la première lettre de la fonction principale en c# doit être en majuscule. Il existe quatre façons de l'écrire comme suit :

static void Main(string args[]){. >

static int Main(string args[]){}

static void Main(){}

static void Main(){}

Et en Java, il n'y a qu'une seule forme : static void main(String [] args){}

3. Type de données : Java et C# sont fondamentalement les mêmes, mais la première lettre du type String en Java doit être en majuscule, tandis qu'en C# elle peut être en minuscules ou en majuscule, et il existe également un type booléen, qui est booléen en Java et bool en C#.

4. Nommage des variables : Le symbole $ peut être utilisé en Java, mais pas en C#.

5. Remarque : Java a un commentaire de documentation "///" de moins que C#.

6. Sortie : C# dispose de trois méthodes de sortie : Cosole.WriteLine(); Cosole.WriteLine (valeur à afficher) ; Cosole.WriteLine ("chaîne de format", liste de variables) ; out en Java L'utilisation de la méthode .println() est la même. La troisième méthode génère des résultats basés sur des espaces réservés, ce qui est plus pratique que Java.

7. Instruction de flux de contrôle : C# est similaire à Java, et le commutateur en C# doit avoir une pause s'il y a du contenu après le cas ; Java n'a pas besoin de pause

8. Array : La déclaration dans les deux langues utilise le mot-clé new. Vous pouvez initialiser le tableau lors de sa création, par exemple : int a[]={1,2,3,5,5} mais C# a deux initialisations de plus que Java, par exemple : int a[]=new int[3; ]{1, 2,3}; int a[]=new int[]{1,2,3};

9. Paramètres transmis dans les méthodes : les deux langages utilisent le passage par valeur et le passage par référence.

Les mots-clés transmis par les références C# sont ref et out, ref se concentre sur la modification et out se concentre sur la sortie. En Java, la valeur est transmise ;

10. Modificateurs d'accès : les modificateurs d'accès en C# correspondent essentiellement à ceux de Java, mais il existe un supplément interne. En bref, C# dispose de 5 types d'accessibilité comme suit :

public : les membres sont accessibles depuis n'importe quel code. protégé : le membre n'est accessible qu'à partir des classes dérivées.

interne : les membres ne sont accessibles qu'à partir de la même assemblée.

protected : le membre n'est accessible qu'à partir des classes dérivées au sein du même assembly.

privé : les membres ne sont accessibles que dans le cours en cours.

11. Puisque le mot-clé final n'existe pas en C#, si vous souhaitez qu'une classe ne soit plus dérivée, vous pouvez utiliser le mot-clé scellé pour la sceller.

12. Collections : les deux langages ont des collections ArrayList, et l'accès aux valeurs par clés est HashMap en Java et HashTable en C#. C# est plus simple que les collections multigénériques Java List et Dictionary. Il n'est pas nécessaire de les déballer et de les emballer, et c'est plus sûr.

13. Héritage : Java utilise le mot-clé extends et C# utilise uniquement ":". Pour appeler la méthode constructeur de la classe parent, Java utilise le mot-clé super, tandis que C# utilise le mot-clé base.

14. Polymorphisme : les classes abstraites et les méthodes abstraites utilisent le mot-clé abstract dans les deux langages. Si une autre classe en Java en hérite, elle peut directement remplacer cette méthode ; tandis qu'en C#, le mot-clé override doit être ajouté pour l'implémenter. C# dispose également d'une méthode virtuelle de plus que Java pour implémenter le polymorphisme.

15. Interface : Ils sont tous définis avec le mot-clé interface, Java est implémenté avec le mot-clé Implements ; C# est implémenté avec ":". En C#, toutes les méthodes d’une interface sont des méthodes publiques par défaut. En Java, une déclaration de méthode peut avoir le modificateur public (même si cela n'est pas obligatoire), mais en C#, il est illégal de spécifier explicitement le modificateur public pour une méthode d'une interface.

16. L'opérateur is en C# est le même que l'opérateur instanceof en Java. Les deux peuvent être utilisés pour tester si une instance d'un objet appartient à un type spécifique. Il n’existe pas d’opérateur équivalent en Java à l’opérateur as en C#. L'opérateur as est très similaire à l'opérateur is, mais il est plus « agressif » : si le type est correct, l'opérateur as tente de convertir la référence de l'objet testé en type cible, sinon, il définit la référence de variable sur null ; .

17. L'énumérateur est le type enum (aucun en Java), qui est utilisé comme type de valeur de variable, limitant ainsi la plage de valeurs possible de la variable aux valeurs qui apparaissent dans l'énumérateur.

18. Struct est très similaire à une classe, et une structure est un type de valeur stocké sur la pile ou incorporé. La structure peut implémenter des interfaces et avoir des membres comme une classe, mais la structure ne prend pas en charge l'héritage.

19. C# conserve les pointeurs. Dangereux. (Il n'est pas sûr d'utiliser des pointeurs en C#, le dernier doit être vérifié)

Site Web chinois php, un grand nombre de Tutoriels d'introduction à Java gratuits, bienvenue pour apprendre en ligne !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

La différence entre H5 et mini-programmes et applications La différence entre H5 et mini-programmes et applications Apr 06, 2025 am 10:42 AM

H5. La principale différence entre les mini programmes et l'application est: Architecture technique: H5 est basé sur la technologie Web, et les mini-programmes et l'application sont des applications indépendantes. Expérience et fonctions: H5 est légère et facile à utiliser, avec des fonctions limitées; Les mini-programmes sont légers et ont une bonne interactivité; Les applications sont puissantes et ont une expérience fluide. Compatibilité: H5 est compatible multiplateforme, les applets et les applications sont limités par la plate-forme. Coût de développement: H5 a un faible coût de développement, des mini-programmes moyens et une application la plus élevée. Scénarios applicables: H5 convient à l'affichage d'informations, les applets conviennent aux applications légères et les applications conviennent aux fonctions complexes.

Comment utiliser XPath pour rechercher à partir d'un nœud DOM spécifié en JavaScript? Comment utiliser XPath pour rechercher à partir d'un nœud DOM spécifié en JavaScript? Apr 04, 2025 pm 11:15 PM

Explication détaillée de la méthode de recherche XPATH sous les nœuds DOM en JavaScript, nous devons souvent trouver des nœuds spécifiques de l'arbre Dom basé sur les expressions XPath. Si vous avez besoin de ...

Comment définir la protection des mots de passe pour l'exportation PDF sur PS Comment définir la protection des mots de passe pour l'exportation PDF sur PS Apr 06, 2025 pm 04:45 PM

Exporter PDF protégé par mot de passe dans Photoshop: ouvrez le fichier image. Cliquez sur "Fichier" & gt; "Export" & gt; "Exporter en PDF". Définissez l'option "Sécurité" et entrez le même mot de passe deux fois. Cliquez sur "Exporter" pour générer un fichier PDF.

Pourquoi avez-vous besoin d'appeler Vue.User (VUerouter) dans le fichier index.js dans le dossier du routeur? Pourquoi avez-vous besoin d'appeler Vue.User (VUerouter) dans le fichier index.js dans le dossier du routeur? Apr 05, 2025 pm 01:03 PM

La nécessité d'enregistrer VUerouter dans le fichier index.js dans le dossier du routeur Lors du développement d'applications VUE, vous rencontrez souvent des problèmes de configuration de routage. Spécial...

La différence dans les résultats de sortie de Console.log: Pourquoi les mêmes variables ont-elles des méthodes d'impression différentes mais des résultats différents? La différence dans les résultats de sortie de Console.log: Pourquoi les mêmes variables ont-elles des méthodes d'impression différentes mais des résultats différents? Apr 04, 2025 am 11:48 AM

Une discussion approfondie des différences de console. La sortie de la log dans cet article analysera les raisons pour lesquelles les résultats de sortie de la fonction Console.log dans un morceau de code sont différents. Les extraits de code impliquent une résolution des paramètres URL ...

Pourquoi n'y a-t-il pas de sortie lors de l'utilisation de RXJ pour traiter des éléments de flux? Comment utiliser correctement les opérateurs et en provenance des opérateurs? Pourquoi n'y a-t-il pas de sortie lors de l'utilisation de RXJ pour traiter des éléments de flux? Comment utiliser correctement les opérateurs et en provenance des opérateurs? Apr 04, 2025 pm 06:36 PM

Discussion sur les problèmes lors de l'utilisation de RXJ pour fonctionner sur des éléments dans les flux dans l'apprentissage et l'utilisation de RXJ ...

【Rust AutoDud】 Introduction 【Rust AutoDud】 Introduction Apr 04, 2025 am 08:03 AM

1.0.1 Préface Ce projet (y compris le code et les commentaires) a été enregistré pendant ma rouille autodidacte. Il peut y avoir des déclarations inexactes ou peu claires, veuillez vous excuser. Si vous en profitez, c'est encore mieux. 1.0.2 Pourquoi Rustrust est-il fiable et efficace? La rouille peut remplacer C et C, par des performances similaires mais une sécurité plus élevée, et ne nécessite pas de recompilation fréquente pour vérifier les erreurs comme C et C. Les principaux avantages incluent: la sécurité de la mémoire (empêcher les pointeurs nuls de déréférences, les pointeurs pendants et la contention des données). Filetage (assurez-vous que le code multithread est sûr avant l'exécution). Évitez le comportement non défini (par exemple, le tableau hors limites, les variables non initialisées ou l'accès à la mémoire libérée). Rust offre des fonctionnalités de langue moderne telles que les génériques

PHP vs Python: comprendre les différences PHP vs Python: comprendre les différences Apr 11, 2025 am 12:15 AM

PHP et Python ont chacun leurs propres avantages, et le choix doit être basé sur les exigences du projet. 1.Php convient au développement Web, avec une syntaxe simple et une efficacité d'exécution élevée. 2. Python convient à la science des données et à l'apprentissage automatique, avec une syntaxe concise et des bibliothèques riches.

See all articles