Учитывая типичный класс высшего уровня. На верхнем уровне могут использоваться только публичные и никакие модификаторы доступа модификаторов, поэтому вы либо увидите публичные, либо вообще не увидите никаких модификаторов доступа.
`static`` используется, потому что вам может не понадобиться создавать реальный объект на верхнем уровне
(но иногда вам захочется, чтобы вы не всегда видели / использовали статические. Существуют и другие причины, по которым вы не включали бы и статические, но это типичная для верхнего уровня.)
void
используется, потому что обычно вы не собираетесь возвращать значение из верхнего уровня (класса). (иногда вы захотите вернуть значение, отличное от NULL
, поэтому void может не всегда использоваться, особенно в случае, когда вы объявили, инициализировали объект на верхнем уровне, которому вы присваиваете какое-то значение). *
Отказ от ответственности:
Я сам новичок, поэтому, если этот ответ каким-либо образом неверен, пожалуйста, не вешайте меня. Днем я технический рекрутер, а не разработчик; кодирование это мое хобби. Кроме того, я всегда открыт для конструктивной критики и люблю учиться, поэтому, пожалуйста, не стесняйтесь указывать на любые ошибки.