Diferença entre public, protected, package-private (default) e private em Java
Olá a todos! Comecei a estudar Java agora e não consigo entender os modificadores de acesso. Li a teoria, mas na prática fico confuso sobre quando usar `public` e quando usar `private`.
Por exemplo, tenho este código:
```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);
}
}
```
Em outra classe no mesmo pacote, posso acessar `name`, `age` e `breed`, mas não `id`. E se eu criar uma subclasse em outro pacote, só posso usar `name` e `age`. Por que isso? E o que significa "package-private"? Quando usar cada modificador em projetos reais?
Expliquem, por favor, em palavras simples com exemplos. Desde já, obrigado!
No answers yet.
Faça login para deixar uma resposta