Public bem dizer que voce "pode acessar em qualquer lugar"
Private: A única classe que tem acesso ao atributo é a própria classe que o define
Tem Void, Boolean, String, Int. etc...
Recomendo você assistir alguns videos de java já que não sabe a diferença entre public e private
@Edit:
Modifier | Class | Package | Subclass | World
————————————+———————+—————————+——————————+———————
public | ✔ | ✔ | ✔ | ✔
————————————+———————+—————————+——————————+———————
protected | ✔ | ✔ | ✔ | ✘
————————————+———————+—————————+——————————+———————
no modifier | ✔ | ✔ | ✘ | ✘
————————————+———————+—————————+——————————+———————
private | ✔ | ✘ | ✘ | ✘