codestory

Zugriffsmodifikatoren (Access modifiers) in Java

  1. Zugriffsmodifikatoren (Access modifier)
  2. Übersicht der Zugriffsmodifikatoren
  3. private access modifier
  4. private constructor
  5. Der Default - Access modifier
  6. protected access modifier
  7. public access modifier
  8. Override method

1. Zugriffsmodifikatoren (Access modifier)

Es gibt 2 Arten der modifier im java: access modifiers und non-access modifiers.
Die access modifiers im Java bestimmt den Zugang ins Daten von Fields, Methode, COnstructor oder Class.
Es gibt 4 Arten von java access modifiers:
  1. private
  2. Default
  3. protected
  4. public
Und es gibt einige non-access modifiers wie static, abstract, synchronized, native, volatile, transient, v.v.. In dieser Unterlagen lernen wir access modifier.

2. Übersicht der Zugriffsmodifikatoren

Die Tabelle unten bringt Sie die Überblick von der Benutzung der access modifier.
Access Modifier
Der Zugang in der Klasse
Der Zugang in der package?
Der Zugang außer Package durch die Sub-Klasse?
Der Zugang außer der Klasse und nicht in der Sub-Klasse?
private
Y
Default
Y
Y
protected
Y
Y
Y
public
Y
Y
Y
Y
Sie können durch die Beispiele mehr verstehen

3. private access modifier

private access modifier kann nur der Zugang ins einer internen Class akzeptieren
Sie können die Field private außer Class, die die Field private definierte, nicht zugreifen. Java wird ein Fehler beim Zugang nachrichten

4. private constructor

Wenn Sie ein Class mit einem Constructor private erstellen, können Sie kein Instance von dieser Class aus dem Constructor private außer dieser Class erstellen. Sehen Sie das Beispiel

5. Der Default - Access modifier

Im Fall melden Sie ein Field, Method oder Constructor, Class ... ohne den Kommentar access modifier. D.h sind sie die Default access modifier
Der Zugangsumfang von access modifier liegt standardmäßig in der package
// A class with default access modifier
// (Not public).
class MyClass   {

 // A field with private access modifier.
 private int myField;

 // A field with default access modifier.
 // (not specified public, protected, private).
 String myField2;

 // A method with default access modifier.
 // (not specified public, protected, private).
 void showMe()  {

 }
}
In einer Package können Sie die Mitglieder mit Default access modifier zugreifen.
Und dürfen nicht außer package, auch in Tochterclass zugreifen
Mit Interface : Wenn Sie ein Field oder ein Method melden, melden Sie immer public oder Default, aber Java versteht immer public.
public interface MyInterface  {

   // This is a field, you can not declare private or protected.
  public static int MY_FIELD1 = 100;

  // This is a field with default access modifier
  // But Java considering this is a public.
  static int MY_FIELD2 = 200;

  // This is a method, with default access modifier
  // But Java considering this is a public.
  void showInfo();
}

6. protected access modifier

protected access modifier kann in der internen package zugreifen, oder außer package aber mit Inheritance zugreifen.
protected access modifier sind nur die field, method và constructor angewendet. Sie wird nicht für die class benutzt (class, interface, enum, annotation).

7. public access modifier

public access modifier ist am meisten start, kann in irgendwo zugreifen. Es hat die größte Zugangsumfang im Vergleich mit anderen modifier

8. Override method

Sie können die Method eines Vaterclass auf ein Methode mit dem gleichen Name und gleichen parameter in einer Tochterclass überschreiben. Aber Sie dürfen nicht die Zugangsumfang von der Methode begrenzen
Auf das oben Beispiel.
  1. Class Cat ist aus class Animal ausgeweitert und auf method move() übergeschrieben. Die Zugangsumfang der Überschreibung von protected zu public. Das ist gültig
  2. Class Mouse ist aus class Animal ausgeweitert und auf method move() übergeschrieben. Die Zugangsumfang der Überschreibung von protected zu Default. Das begrenzt die Zugangsumfang von Hauptmethode. Das ist nicht gültig

Java Grundlagen

Show More