[Java Silver] Zusammenfassung der Zugriffsmodifikatorpunkte

Zugriffsmodifikator

Zugriffsmodifikator Zugänglich Symbole in Klassendiagrammen
public Von überall +
protected Klassen und Unterklassen im selben Paket #
Klassen im selben Paket ~
private Aktuelle Klasse -

Der Zugriff von nicht autorisierten Orten führt zu einem ** Kompilierungsfehler **

Was Sie benötigen, um Zugriffsmodifikatoren zu berücksichtigen

・ ** Klasse ** (um festzustellen, ob von einem anderen Paket aus darauf zugegriffen werden kann) · Methode ・ Sammlung (ArrayList) ·Feld

Hinweise zu Zugriffsmodifikatoren

Schnittstellen- und Zugriffsmodifikatoren

Die Schnittstelle selbst wird implizit als ** öffentlich ** betrachtet, da die Schnittstelle ** eine Voraussetzung für die Vererbung ist ** → Methoden, die in der Schnittstelle definiert werden können -Im Fall der ** abstrakten Methode ** wird sie implizit als ** öffentlich , abstrakt interpretiert (öffentlich, abstrakt kann weggelassen werden). -Wenn ** eine Implementierung hat, muss es sich um eine ** statische Methode ** oder eine ** Defalt-Methode ** handeln ( Zugriffsmodifikatoren sind unbegrenzt, privat ist auch möglich **)

→ Felder, die in der Schnittstelle definiert werden können -Statische Variable (** nur öffentlich ) ・ Konstante ( nur öffentlich **) ・ Instanzvariablen können nicht definiert werden

** [Konkrete Methode der Klasse, die die Schnittstelle implementiert] **

Das Zugriffsqualifikationsmerkmal der in der Schnittstelle definierten abstrakten Methode ** und die konkrete Methode **, die die abstrakte Methode in der Klasse implementiert, die die Schnittstelle implementiert, müssen ** dasselbe Zugriffsqualifikationsmerkmal ** sein. ..

Beispiel) * Ein Kompilierungsfehler ist aufgetreten

interface A(){
  void doSomething(); //Inderface abstrakte Methode. Implizit als öffentlich interpretiert
}

B implements A(){
  protected void doSomething(){ //Kompilierungsfehler. Der Zugriffsmodifikator muss "öffentlich" sein, genau wie die abstrakte Methode der Schnittstelle
   //wird bearbeitet
  }
}

Abstrakte Klassen und Zugriffsmodifikatoren

Abstrakte Klassen (mit Abstract qualifiziert) werden implizit als ** öffentlich ** betrachtet, da abstrakte Klassen ** geerbte Annahmen ** sind

→ Methoden, die in abstrakten Klassen definiert werden können -Für abstrakte Methoden ist eine Änderung mit ** abstract ** erforderlich. Da es sich bei der abstrakten Methode um eine Methode handelt, bei der die Prämisse überschrieben werden muss, kann der Zugriffsmodifikator auf einen anderen als den privaten Wert gesetzt werden. -Für konkrete Methoden können Zugriffsmodifikatoren frei eingestellt werden

→ Felder, die in abstrakten Klassen definiert werden können ・ Keine Einschränkungen bei den Einstellungen

** * Der Zugriffsmodifikator beim Überschreiben einer Methode sollte mit der ursprünglichen Methode identisch sein, oder die Einschränkungen sollten gelockert werden **

Beispiel)

interface A {
    void doSomething();
    
}

abstract class B implements A {
   public abstract void doSomething(); //Die Schnittstelle kann mit abstrakten Methoden implementiert werden. Zugriffsmodifikatoren sind dieselben wie Schnittstellenmethoden
}

class C extends B {
    public void doSomething(){ //Abstrakte Methode überschreiben.
        System.out.println("Etwas tun");
    };
}

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

Recommended Posts

[Java Silver] Zusammenfassung der Zugriffsmodifikatorpunkte
[Java Silver] Zusammenfassung der Punkte im Zusammenhang mit Lambda-Ausdrücken
Zusammenfassung des Pakets [Java Silver Study]
Zugriffsmodifikator [Java]
Zusammenfassung der Java-Unterstützung 2018
[Java11] Stream-Zusammenfassung - Vorteile von Stream -
[Java] Zusammenfassung der regulären Ausdrücke
[Java] Zusammenfassung der Operatoren (Operator)
Zusammenfassung der Kenntnisse, die zum Bestehen von Java SE8 Silver erforderlich sind
Zusammenfassung der Grundlagen der Java-Sprache
Zusammenfassung der Java Math Klasse
[Java] Zusammenfassung der Steuerungssyntax
Zusammenfassung der Java-Fehlerverarbeitung
[Java] Zusammenfassung der Entwurfsmuster
[Java] Zusammenfassung der mathematischen Operationen
[Für Anfänger] Zusammenfassung des Java-Konstruktors
AtCoder 400 Punkte Algorithmus Zusammenfassung (Java Edition)
Zusammenfassung der objektorientierten Programmierung mit Java
Zusammenfassung der internen Rookie-Lernsitzung [Java]
[java] Zusammenfassung des Umgangs mit char
Zusammenfassung anderer Änderungen als JEP von Java10
[Java] Persönliche Zusammenfassung der bedingten Anweisungen (grundlegend)
[Java] [Maven3] Zusammenfassung der Verwendung von Maven3
Java Zusammenfassung der häufig gesuchten Typkonvertierungen
Zusammenfassung von Java Math.random und Import (Kalender)
Zusammenfassung der guten Punkte und Vorsichtsmaßnahmen bei der Konvertierung der Java Android-Anwendung in Kotlin
Zusammenfassung des Java-Wissens
[java] Zusammenfassung des Umgangs mit Zeichenketten
Java Generics Zusammenfassung
Zusammenfassung der Java-Umgebungseinstellungen für mich [mac]
Java Silver Memo
[Java] Persönliche Zusammenfassung der Klassen und Methoden (grundlegend)
[Java] Zusammenfassung, wie Lambda-Ausdrücke weggelassen werden
Zusammenfassung der Punkte, über die ich mir bei der Migration von Java nach Kotlin Sorgen gemacht habe
[Java] Zugriff auf die signierte URL von s3 (signierte Version 2)
Java-bezogene Zusammenfassung
[Java SE 11 Silver] Zusammenfassung der Arrays-Klassenmethoden [Java-Anfänger]
Zusammenfassung des Java 8-Dokuments
[Qualifikationstest] Zusammenfassung der Java SE 8 Silver-Lernmethode
Zusammenfassung des Java 11-Dokuments
Studieren Sie Java Silver 1
[Java] Übersicht über Java
Java Final Modifier
Das ist praktisch! Zusammenfassung der beliebten Java-Bibliothek + α
Weglassen der mittleren Klammern in der if-Anweisung (Java Silver)
Zusammenfassung des ToString-Verhaltens mit Java- und Groovy-Annotationen
Zusammenfassung der Revisionen (neue Yuan-Probleme) nach Java-Version
Access Qualifier Summary-JVM-Sprachausgabe (Java / Groovy / Scala / Kotlin)
[java.io] Zusammenfassung der Java-String-Eingabe (InputStream, Reader, Scanner)
Erfahrung mit dem Bestehen von Java Silver als neuer Absolvent
Zusammenfassung der Java-Kommunikations-API (1) Verwendung von Socket
Zusammenfassung der Java-Kommunikations-API (3) Verwendung von SocketChannel
Zusammenfassung der Java-Kommunikations-API (2) Verwendung von HttpUrlConnection
Zusammenfassung der Implementierung von Standardargumenten in Java
Geschichte des Bestehens von Java Silver SE8 (Oracle Certified Java Programmer, Silver SE 8)
Zusammenfassung der Methoden zum Lesen von Dateien für jedes Java-Dateiformat
Abgelaufene Java-Sammlung
Java abstrakter Modifikator [Hinweis]
Voraussichtliche Funktionen von Java
Zusammenfassung der neuen Funktionen von Java 12