Quels peuvent être les modificateurs de l'interface Java
Les modificateurs de l'interface Java peuvent être abstraits et définitifs. L'interface peut être comprise comme une classe spéciale. La différence est que les membres de l'interface n'ont pas de corps d'exécution et sont composés de constantes globales et de méthodes abstraites publiques ; dans l'interface. Les constantes peuvent être définies (avec la modification finale, elles deviendront des constantes), donc les propriétés de l'interface sont des constantes finales statiques publiques par défaut et doivent se voir attribuer une valeur initiale.
L'environnement d'exploitation de ce tutoriel : système windows7, version java8, ordinateur DELL G3.
Une classe abstraite est un modèle abstrait de plusieurs classes. Si cette abstraction est effectuée de manière plus approfondie, une "classe abstraite" plus spéciale - Interface (Interface) peut être extraite. L'interface est l'un des concepts les plus importants de Java. Elle peut être comprise comme une classe spéciale. La différence est que les membres de l'interface n'ont pas de corps d'exécution et sont composés de constantes globales et de méthodes abstraites publiques.
Define interface
Les interfaces Java sont essentiellement définies de la même manière que les classes, mais le mot-clé utilisé dans la définition de l'interface est interface. Le format syntaxique de la définition de l'interface est le suivant :
[public] interface interface_name [extends interface1_name[, interface2_name,…]] { // 接口体,其中可以包含定义常量和声明方法 [public] [static] [final] type constant_name = value; // 定义常量 [public] [abstract] returnType method_name(parameter_list); // 声明方法 }
La description de ce qui précède. la syntaxe est la suivante :
-
public représente le modificateur de l'interface. Lorsqu'il n'y a pas de modificateur, le modificateur par défaut est utilisé. A ce moment, les droits d'accès à l'interface sont limités au package auquel elle appartient ;
- interface_name représente le nom de l'interface. Le nom de l'interface doit adopter les mêmes règles de dénomination que le nom de la classe, c'est-à-dire que, d'un point de vue grammatical, le nom de l'interface doit uniquement être un identifiant légal. Pour se conformer aux spécifications de lisibilité de Java, un nom d'interface doit être une concaténation de mots significatifs, avec la première lettre de chaque mot en majuscule, sans aucun séparateur entre les mots.
- extends représente la relation d'héritage de l'interface ;
- interface1_name représente le nom de l'interface à hériter
- constant_name représente le nom de la variable, généralement statique et final ; valeur de retour de la méthode Type ;
- parameter_list représente la liste des paramètres et les méthodes de l'interface n'ont pas de corps de méthode.
Remarque : Une interface peut avoir plusieurs interfaces parents directes, mais les interfaces ne peuvent hériter que d'interfaces, pas de classes.
Modificateurs de l'interface java
L'interface est très importante Afin d'expliquer la situation, voici un peu plus détaillé : (1) L'interface sert à décrire tous les services fournis par le. système vers le monde extérieur, donc les constantes membres dans l'interface et les méthodes doivent être de type public pour garantir que les utilisateurs externes peuvent y accéder
(2) L'interface décrit uniquement ce que le système peut faire, mais ne précise pas comment ; faites-le, donc les méthodes de l'interface sont abstraites Méthode ; (3) L'interface n'implique aucun détail lié à une instance spécifique, donc l'interface n'a pas de méthode de construction, ne peut pas être instanciée, n'a pas de variables d'instance, seulement des variables statiques ; (4) Variables dans l'interface C'est commun à toutes les classes d'implémentation Comme c'est commun, ce doit être quelque chose qui ne change pas, car les choses qui changent ne peuvent pas être considérées comme communes. Par conséquent, la variable est un type immuable (final), qui est une constante. (5) Les variables ne peuvent pas être définies dans les interfaces ? Si l'interface peut définir des variables, mais que les méthodes de l'interface sont abstraites, les propriétés ne peuvent pas être modifiées via le comportement de l'interface. Certains diront que ce n'est pas grave, vous pouvez modifier les propriétés de l'interface via le comportement de l'objet qui implémente l'interface. Cela ne pose bien sûr aucun problème, mais considérez cette situation. S'il existe une variable statique a avec accès public dans l'interface A. Selon la sémantique de Java, nous pouvons accéder à la variable a sans utiliser l'objet qui implémente l'interface. Nous pouvons modifier la valeur de la variable a dans l'interface via A.a = xxx;. Tout comme cela peut être fait dans une classe abstraite, tous les objets qui implémentent l'interface A auront automatiquement la valeur modifiée de a. Autrement dit, si a est modifié à un endroit, la valeur de a dans tous ces objets suivra également. . changé. Quelle est la différence entre cela et une classe abstraite ?Comment refléter le niveau d'abstraction supérieur de l'interface ?Comment refléter le protocole unifié fourni par l'interface ?Alors à quoi sert l'abstraction de l'interface ? Par conséquent, les variables ne peuvent pas apparaître dans l'interface. S'il y a des variables, cela entre en conflit avec l'idée d'abstraction unifiée fournie par l'interface. Par conséquent, les attributs de l'interface doivent être des constantes, qui peuvent uniquement être lues et ne peuvent pas être modifiées. Ce n'est qu'ainsi qu'un attribut unifié peut être fourni pour l'objet qui implémente l'interface. En termes simples, si vous pensez que quelque chose doit être modifié, mettez-le dans votre propre implémentation et non dans une interface. Une interface est simplement une abstraction de niveau supérieur des attributs et des comportements d'un type de chose. Fermée à la modification et ouverte aux extensions (différentes implémentations), l'interface est une manifestation du principe ouvert-fermé. Donc : La méthode par défaut de l'interface estpublic abstract
; Vous ne pouvez pas définir de variables dans l'interface, seulement des constantes (avec la modification finale, elles deviendront des constantes). Par conséquent, les propriétés de l'interface sont des constantes public static final
par défaut et doivent se voir attribuer une valeur initiale. Remarque : le final et le résumé ne peuvent pas apparaître en même temps.
Pour plus de connaissances liées à la programmation, veuillez visiter : Enseignement de la programmation ! !
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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

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

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

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Lorsque vous utilisez le module ArgParse, les paramètres qui doivent être fournis peuvent être obtenus en réglant le réglage = TRUE. 1. Utiliser requis = TRUE pour définir des paramètres facultatifs (tels que --inter) à être requis. S'il n'est pas fourni lors de l'exécution du script, une erreur sera signalée; 2. Les paramètres de position sont requis par défaut, et il n'est pas nécessaire de définir requis = true; 3. Il est recommandé d'utiliser les paramètres de position pour les paramètres nécessaires. Parfois, les paramètres facultatifs de requis = TRUE sont utilisés pour maintenir la flexibilité; 4. Required = true est le moyen le plus direct de contrôler les paramètres. Après utilisation, l'utilisateur doit fournir des paramètres correspondants lors de l'appel du script, sinon le programme invitera une erreur et quittera.

CommentairesInjavaAreignoredBytheCompilerAndUsedforexPlaning, Notes, OrdisablingCode.ThereAreaTheTypes: 1) une seule linecommentStartwith // andLastuntUlLtheendoFtheline; 2) Multi-linecomements Beginwith / AndendWith / andCanspanMultiplelines; 3) documentation sur la documentation avec documentation

Thebestjavaidein2024Denpendyourndeds: 1.chooseintellijideaforprofessional, l'entreprise, le development orfulldevelopmentduetoitsSuperiorCodeIntelligence, le framewory

Le cœur de l'utilisation du javahttpclientapi est de créer un httpclient, de créer un httprequest et de traiter httpResponse. 1. Utilisez httpclient.newhttpclient () ou httpclient.newbuilder () pour configurer les délais d'expiration, proxy, etc. pour créer des clients; 2. Utilisez httpRequest.newBuilder () pour définir URI, méthode, en-tête et corps pour construire des demandes; 3. Envoyez des demandes synchrones via client.send () ou envoyez des demandes asynchrones via client.sendaSync (); 4. Utilisez des handleurs.

Utilisez .equals () pour comparer le contenu de la chaîne, car == comparer uniquement les références d'objet plutôt que les caractères réels; 2. Utiliser .EqualSignoreCase () Lors de la comparaison de l'ignorance de cas; 3. Utilisez .CompareTo () lors du tri par ordre alphabétique, et .CompareToIgnoreCase () lors de l'ignorance de cas; 4. Évitez d'appeler des chaînes qui peuvent être nulles. Equals () doit être utilisé pour utiliser "littéral" .equals (variable) ou objets.equals (str1, str2) pour gérer en toute sécurité les valeurs nulles; Bref, faites toujours attention à la comparaison du contenu plutôt qu'à une référence,

LinkedList est une liste liée bidirectionnelle dans Java, implémentant la liste et les interfaces de Deque. Il convient aux scénarios où les éléments sont fréquemment insérés et supprimés. Surtout lorsqu'il fonctionne aux deux extrémités de la liste, il a une efficacité élevée, mais les performances d'accès aléatoire sont médiocres et la complexité du temps est O (n). L'insertion et la suppression peuvent atteindre O (1) à des endroits connus. Par conséquent, il convient à la mise en œuvre de piles, de files d'attente ou de situations où les structures doivent être modifiées dynamiquement et ne convient pas aux opérations à forte intensité de lecture qui accèdent fréquemment par index. La conclusion finale est que LinkedList est meilleur que ArrayList lorsqu'il est fréquemment modifié mais a moins d'accès.

Tout d'abord, Checkif "ClearbrowsingDataOnClose" IsTurneDOninsettingsandTurnitofftoenSureHistoryissaved.2.Confirmyou'renotusingInprivateMode, asitdoesNotsAvehistoryByDesigr.3.Disable ExtensionStendatoryToUleoutHeleft

CheckkSearchSettings like "MatchEnteRireCellContents" et "MatchCase" ByExpandingOptionsInFindanDreplace, garantissant "lookin" issettominuesand »dans" TOCORRECTSCOPE; 2.LOORHFORHIDDENCHARACTER
