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