Direkt zum Inhalt
Urkunden
Java SchlüsselwörterJava-ArraysJava Objektorientierte ProgrammierungJava File HandlingEinführung in JavaGrundlagen der Java-Sprache

private Schlüsselwort in Java

Das Schlüsselwort private in Java ist ein Zugriffsmodifikator, mit dem die Sichtbarkeit von Feldern, Methoden und Konstruktoren auf die definierende Klasse beschränkt werden kann. Dieser Verkapselungsmechanismus hilft dabei, den internen Zustand eines Objekts zu schützen und Daten zu verstecken.

Verwendung

Der Zugriffsmodifikator private stellt sicher, dass die Mitglieder (Felder, Methoden, Konstruktoren) einer Klasse nur innerhalb der gleichen Klasse zugänglich sind. Sie wird häufig verwendet, um die Kapselung zu erzwingen und unberechtigten Zugriff von außerhalb der Klasse zu verhindern.

Syntax

class ClassName {
    private dataType fieldName;
    
    private returnType methodName() {
        // method body
    }
}
  • dataType fieldName: Deklaration eines privaten Feldes.
  • returnType methodName(): Deklaration einer privaten Methode.

Beispiele

Beispiel 1: Privates Feld

public class Person {
    private String name;
    
    public void setName(String name) {
        this.name = name;
    }
    
    public String getName() {
        return name;
    }
}

In diesem Beispiel ist das Feld name als private deklariert, d.h. es kann nicht direkt von außerhalb der Klasse Person aufgerufen werden. Die Methoden setName und getName ermöglichen einen kontrollierten Zugriff auf dieses Feld.

Beispiel 2: Private Methode

public class Calculator {
    public int add(int a, int b) {
        return a + b;
    }
    
    private int subtract(int a, int b) {
        return a - b;
    }
    
    public int performSubtraction(int a, int b) {
        return subtract(a, b);
    }
}

Hier ist die Methode subtract privat und kann nur innerhalb der Klasse Calculator aufgerufen werden. Die Methode performSubtraction bietet eine öffentliche Schnittstelle zur Verwendung der Methode subtract.

Beispiel 3: Privater Konstrukteur

public class Singleton {
    private static Singleton instance;
    
    private Singleton() {
        // private constructor
    }
    
    public static Singleton getInstance() {
        if (instance == null) {
            instance = new Singleton();
        }
        return instance;
    }
}

Dieses Beispiel demonstriert ein Singleton-Muster, bei dem der Konstruktor privat ist, so dass nur eine Instanz der Klasse Singleton erstellt werden kann. Die Methode getInstance bietet eine Möglichkeit, auf die einzelne Instanz zuzugreifen.

Tipps und bewährte Praktiken

  • Verkapselung: Verwende private, um den internen Zustand einer Klasse zu kapseln und nur die notwendigen Methoden für die Interaktion mit diesem Zustand freizugeben.
  • Kontrollierter Zugang: Biete öffentliche Getter- und Setter-Methoden an, um zu kontrollieren, wie auf private Felder zugegriffen wird und wie sie geändert werden.
  • Unveränderliche Klassen: Bei unveränderlichen Klassen solltest du Felder private und final machen und Setter vermeiden.
    public class ImmutableClass {
        private final int value;
        
        public ImmutableClass(int value) {
            this.value = value;
        }
        
        public int getValue() {
            return value;
        }
    }
  • Sicherheit: Verwende private, um sensible Methoden und Daten zu verstecken, die nicht für andere Klassen sichtbar sein sollen.
  • Singleton-Muster: In Singleton-Mustern verwendest du einen privaten Konstruktor, um die direkte Instanziierung der Klasse zu verhindern.

Java Grundlagen lernen

Baue deine Java-Kenntnisse von Grund auf auf und beherrsche Programmierkonzepte.
Kostenloses Lernen beginnen