Maison >Java >JavaBase >La différence entre l'interface C# et l'interface Java

La différence entre l'interface C# et l'interface Java

王林
王林original
2019-11-19 14:45:154153parcourir

La différence entre l'interface C# et l'interface Java

1. Définissez les membres dans l'interface

C#, comme le montre la figure J'ai ajouté un champ n à l'interface ITest, puis vs affiche directement une ligne inférieure rouge , et l'erreur est L'interface ne peut pas contenir le champ

La différence entre linterface C# et linterface Java

java, comme indiqué ci-dessous. La compilation signale également une erreur, mais ce n'est pas que l'interface ne peut pas être incluse mais. que l'affectation est manquante, attribuons donc la valeur et revoyons. Vous pouvez voir qu'il n'y a pas de problème, c'est-à-dire que les variables membres sont publiques static final par défaut. Nous savons que final doit se voir attribuer une valeur, donc si elle n'est pas attribuée, l'endroit sera compilé.

La différence entre linterface C# et linterface Java

Après affectation, il a été constaté qu'il n'y avait aucun problème, comme indiqué ci-dessous :

La différence entre linterface C# et linterface Java

2. méthodes dans l'interface

C#, nous savons tous que les méthodes dans une interface doivent être implémentées par des sous-classes, donc nos méthodes dans l'interface ne peuvent pas être implémentées si une implémentation est ajoutée, il y aura des erreurs. L'erreur est que l'interface ne peut pas être définie.

La différence entre linterface C# et linterface Java

Java, c'est-à-dire jdk1.8, a ajouté quelques méthodes qui peuvent être implémentées. Il peut être implémenté en mode par défaut et statique. Comme indiqué ci-dessous, il n’y a aucun problème de compilation. Alors, C# a-t-il des méthodes par défaut et statiques ? Dans l'interface, désolé il n'y en a pas.

La différence entre linterface C# et linterface Java

Il n'existe pas en c# Pour les méthodes statiques, les méthodes d'interface par défaut ne peuvent pas être définies. Parce que c'est invalide.

La différence entre linterface C# et linterface Java

Résumé :

1. En Java, les interfaces peuvent contenir des champs, mais ces champs sont implicitement statiques et finaux, ce que C# n'autorise pas s'il y en a. champs dans l'interface, le compilateur affichera une erreur lors de la compilation ;

2. En Java, les déclarations de méthode peuvent avoir des modificateurs publics (même si cela n'est pas nécessaire), mais en C#, explicitement, il est illégal de spécifier le modificateur public pour une méthode dans une interface.

Tutoriel recommandé : Introduction au développement Java

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:
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
Article précédent:Comment est la sortie Java ?Article suivant:Comment est la sortie Java ?