Avatar ·

Unterschied zwischen public, protected, package-private (default) und private in Java

Hallo zusammen! Ich habe gerade angefangen, Java zu lernen und komme mit den Zugriffsmodifikatoren nicht klar. Ich habe zwar die Theorie gelesen, aber in der Praxis bin ich ständig verwirrt, wann ich `public` und wann `private` schreiben soll. Zum Beispiel habe ich diesen Code: ```java public class Animal { public String name = "Unknown"; protected int age = 5; String breed = "Mixed"; // package-private private String id = "A123"; public void showInfo() { System.out.println("Name: " + name); System.out.println("Age: " + age); System.out.println("Breed: " + breed); System.out.println("ID: " + id); } } ``` In einer anderen Klasse im selben Package kann ich auf `name`, `age` und `breed` zugreifen, aber nicht auf `id`. Wenn ich eine Subklasse in einem anderen Package erstelle, kann ich