Public, private и static имеют дело с областью видимости и тем, что может говорить с объектами / методами
Public
-> Другие классы могут создавать экземпляр вашего класса (при условии, что класс public
) и напрямую вызывать этот объект / метод
Private
-> Другие классы могут создавать экземпляр вашего класса (при условии, что класс public
), но не могут получить доступ к этому объекту / методу
Static
-> Другие классы могут напрямую обращаться к этому объекту / методу (при условии, что класс public
, а метод public static
), например: YourClassName.ObjectOrMethod
без необходимости создавать экземпляр YourClassName