Ответы:
Это три совершенно разные вещи:
public
означает, что метод является видимым и может вызываться из других объектов других типов. Другие альтернативы private
, protected
, package
и package-private
. Смотрите здесь для более подробной информации.
static
означает, что метод связан с классом, а не с конкретным экземпляром (объектом) этого класса. Это означает, что вы можете вызывать статический метод, не создавая объект класса.
void
означает, что метод не имеет возвращаемого значения. Если метод вернул, int
вы бы написали int
вместоvoid
.
Комбинация всех трех из них наиболее часто встречается в main
методе, который будет включен в большинство уроков.
Три слова имеют ортогональные значения.
public
означает, что метод будет виден из классов в других пакетах.
static
означает, что метод не привязан к конкретному экземпляру и не имеет " this
". Это более или менее функция.
void
это тип возвращаемого значения. Это означает, что «этот метод ничего не возвращает».
общественности ключевое слово является спецификатором доступа, который позволяет программисту управлять видимостью членов класса. Когда члену класса предшествует public, тогда к этому члену может обращаться код вне класса, в котором он объявлен. (Противоположностью public является private, что предотвращает использование элемента кодом, определенным вне его класса.)
В этом случае он main( )
должен быть объявлен как открытый, так как он должен вызываться кодом вне своего класса при запуске программы.
Ключевое слово static позволяет main( )
вызываться без создания экземпляра определенного экземпляра класса. Это необходимо, так как main( )
вызывается интерпретатором Java перед созданием каких-либо объектов.
Ключевое слово void просто сообщает компилятору, что main( )
не возвращает значение. Как вы увидите, методы также могут возвращать значения.
Это означает, что:
public
- его можно вызвать откуда угодноstatic
- у него нет состояния объекта, поэтому вы можете вызывать его без создания объектаvoid
- ничего не возвращаетВы могли бы подумать, что отсутствие возврата означает, что оно мало что делает, но может, например, сохранять данные в базе данных.
Это означает три вещи.
Первый public
означает, что любой другой объект может получить к нему доступ.
static
означает, что класс, в котором он находится, не должен сначала создаваться, прежде чем будет вызвана функция.
void
означает, что функция не возвращает значение.
Поскольку вы только учитесь, не беспокойтесь о первых двух, пока вы не узнаете о классах, а третий не будет иметь большого значения, пока вы не начнете писать функции (кроме основной, то есть).
Лучший совет, который я получил, когда учился программировать, и который я передаю вам, - не беспокойтесь о мелких деталях, которые вы не понимаете сразу. Получите широкий обзор основных принципов, а затем вернитесь к подробностям. Причина в том, что вы должны использовать некоторые вещи (например public static void
) в ваших первых программах, которые не могут быть хорошо объяснены без предварительного изучения множества других вещей. Итак, на данный момент, просто примите, что так оно и есть, и двигайтесь дальше. Вы поймете их в ближайшее время.
Учитывая типичный класс высшего уровня. Только верхние и никакие модификаторы доступа модификаторов могут использоваться на верхнем уровне, поэтому вы либо увидите публичные, либо вообще не увидите никаких модификаторов доступа.
`static`` используется потому, что вам может не понадобиться создавать фактический объект на верхнем уровне (но иногда вам захочется, чтобы вы не всегда видели / использовали static. Существуют и другие причины, по которым вы не включили бы static тоже, но это типичный на верхнем уровне.)
void
используется, потому что обычно вы не собираетесь возвращать значение из верхнего уровня (класса). (иногда вы захотите вернуть значение, отличное от NULL
void, и это может не всегда использоваться, особенно в случае, когда вы объявили, инициализировали объект на верхнем уровне, которому вы назначаете какое-то значение).
Отказ от ответственности: я сам новичок, поэтому, если этот ответ каким-либо образом неверен, пожалуйста, не вешайте меня. Днем я технический рекрутер, а не разработчик; кодирование это мое хобби. Кроме того, я всегда открыт для конструктивной критики и люблю учиться, поэтому, пожалуйста, не стесняйтесь указывать на любые ошибки.
public
означает, что вы можете получить доступ к классу из любого места в классе / объекте или вне пакета или классаstatic
означает константу, в которой блок выписки используется только 1 разvoid
означает отсутствие типа возвратаPublic
- означает, что класс (программа) доступен для использования любым другим классом.
Static
- создает класс. Может также применяться к переменным и методам, делая их методами / переменными класса, а не просто локальными для определенного экземпляра класса.
Void
- это означает, что продукт не возвращается, когда класс завершает обработку. Сравните это с вспомогательными классами, которые обеспечивают возвращаемое значение для основного класса, они работают как функции; они не имеют пустоты в декларации.
static
означает, что метод связан с классом, а не с конкретным экземпляром (объектом) этого класса. Это означает, что вы можете вызывать статический метод, не создавая объект класса. Из-за использования static
ключевого слова main()
ваш первый метод должен быть вызван ...
static
не нужно ни одного объекта в экземпляр ... поэтому он main( )
вызывается интерпретатором Java перед созданием каких-либо объектов.
public
,static
,private
и т.д.) , то тип возврата (void
в данном случае).