[Java Silver] Résumé des points de modification d'accès

Modificateur d'accès

Modificateur d'accès Accessible Symboles dans les diagrammes de classes
public De partout +
protected Classes et sous-classes dans le même package #
Cours dans le même forfait ~
private Classe actuelle -

L'accès à partir d'emplacements non autorisés entraînera une ** erreur de compilation **

Ce dont vous avez besoin pour considérer les modificateurs d'accès

・ ** Classe ** (pour déterminer si elle est accessible à partir d'un autre forfait) · Méthode ・ Collection (ArrayList) ·champ

Remarques sur les modificateurs d'accès

Modificateurs d'interface et d'accès

L'interface elle-même est implicitement considérée comme ** publique ** car l'interface est ** une condition préalable à l'héritage ** → Méthodes pouvant être définies dans l'interface -Dans le cas de la ** méthode abstraite **, elle est implicitement interprétée comme ** public , abstract (public, abstract peut être omis). -Si ** a une implémentation, il doit s'agir d'une ** méthode statique ** ou ** méthode defalt ** ( Aucune restriction sur les modificateurs d'accès, privé est également possible **)

→ Champs pouvant être définis dans l'interface -Variable statique (** public uniquement ) ・ Constante ( public uniquement **) -Les variables d'instance ne peuvent pas être définies

** [Méthode concrète de classe qui implémente l'interface] **

Le modificateur d'accès de la méthode abstraite ** définie dans l'interface et de la méthode concrète ** qui implémente la méthode abstraite dans la classe qui implémente l'interface doit être ** le même modificateur d'accès **. ..

Exemple) * Une erreur de compilation s'est produite

interface A(){
  void doSomething(); //Méthode abstraite Inderface. Interprété implicitement comme public
}

B implements A(){
  protected void doSomething(){ //Erreur de compilation. Le modificateur d'accès doit être "public", comme la méthode abstraite de l'interface
   //En traitement
  }
}

Classes abstraites et modificateurs d'accès

Les classes abstraites (qualifiées par abstract) sont implicitement considérées comme ** publiques ** car les classes abstraites sont des ** hypothèses héritées **

→ Méthodes pouvant être définies dans des classes abstraites -Dans le cas d'une méthode abstraite, il est nécessaire de la modifier avec ** abstract **. Puisque la méthode abstraite est une méthode de ** prémisse à remplacer **, ** le modificateur d'accès peut être défini sur une valeur autre que privée ** -Pour les méthodes concrètes, les modificateurs d'accès peuvent être définis librement

→ Champs pouvant être définis dans des classes abstraites ・ Aucune restriction sur les paramètres

** * Le modificateur d'accès lors du remplacement d'une méthode doit être le même que la méthode d'origine ou les restrictions doivent être assouplies **

Exemple)

interface A {
    void doSomething();
    
}

abstract class B implements A {
   public abstract void doSomething(); //L'interface peut être implémentée avec des méthodes abstraites. Les modificateurs d'accès sont les mêmes que les méthodes d'interface
}

class C extends B {
    public void doSomething(){ //Remplacez la méthode abstraite.
        System.out.println("Faire quelque chose");
    };
}

public class Main {
	public static void main(String[] args) {
		C example = new C();
		example.doSomething();
	}
}

Recommended Posts

[Java Silver] Résumé des points de modification d'accès
[Java Silver] Résumé des points liés aux expressions lambda
Résumé du package [Java Silver Study]
Modificateur d'accès [Java]
Résumé du support Java 2018
[Java11] Résumé du flux -Avantages du flux-
[Java] Résumé des expressions régulières
[Java] Résumé des opérateurs (opérateur)
Résumé des connaissances requises pour réussir Java SE8 Silver
Résumé des bases du langage Java
Résumé de la classe Java Math
[Java] Résumé de la syntaxe de contrôle
Résumé du traitement des erreurs Java
[Java] Résumé des modèles de conception
[Java] Résumé des opérations mathématiques
[Pour les débutants] Résumé du constructeur java
Résumé de l'algorithme AtCoder 400 points (édition Java)
Résumé de la programmation orientée objet utilisant Java
Résumé de la session d’étude interne des recrues [Java]
[java] Résumé de la gestion des caractères
Récapitulatif des modifications autres que JEP de Java10
[Java] Résumé personnel des instructions conditionnelles (basique)
[Java] [Maven3] Résumé de l'utilisation de Maven3
Résumé Java des conversions de types fréquemment recherchées
Résumé de Java Math.random et import (calendrier)
Résumé des bons points et des précautions lors de la conversion de l'application Java Android vers Kotlin
Résumé des connaissances Java
[java] Résumé de la gestion des chaînes de caractères
Résumé des génériques Java
Récapitulatif des paramètres de l'environnement Java pour moi-même [mac]
Mémo Java Silver
[Java] Résumé personnel des classes et méthodes (basique)
[Java] Résumé de la façon d'omettre les expressions lambda
Résumé des points qui m'inquiétaient lors de la migration de Java vers Kotlin
[Java] Accéder à l'URL signée de s3 (version signée 2)
Résumé relatif à Java
[Java SE 11 Silver] Résumé des méthodes de classe Arrays [Java débutant]
Résumé du document Java 8
[Test de qualification] Résumé de la méthode d'apprentissage Java SE 8 Silver
Résumé du document Java 11
Étudier Java Silver 1
[Java] Présentation de Java
modificateur final java
C'est pratique! Résumé de la bibliothèque Java populaire + α
Omission des crochets du milieu dans l'instruction if (Java Silver)
Résumé du comportement de ToString avec les annotations Java et Groovy
Résumé des révisions (nouveaux problèmes de yuan) par version Java
Accéder au résumé des qualificatifs - Édition du langage JVM (Java / Groovy / Scala / Kotlin)
[java.io] Résumé de l'entrée de chaîne Java (InputStream, Reader, Scanner)
Expérience de réussite de Java Silver en tant que nouveau diplômé
Résumé de l'API de communication Java (1) Comment utiliser Socket
Résumé de l'API de communication Java (3) Comment utiliser SocketChannel
Résumé de l'API de communication Java (2) Comment utiliser HttpUrlConnection
Résumé de la mise en œuvre des arguments par défaut en Java
Histoire de passer Java Silver SE8 (programmeur Java certifié Oracle, Silver SE 8)
Résumé des méthodes de lecture de fichiers pour chaque format de fichier Java
Collection expirée de java
Modificateur abstrait Java [Note]
Caractéristiques prévues de Java
Résumé des nouvelles fonctionnalités de Java 12