Подтвердить что ты не робот

Объяснение 'String args []' и static в 'public static void main (String [] args)'

Как вы можете объяснить очень хорошо, новичок, значение String args[] и использование static в следующем отрывке?

class FirstApp {
    public static void main(String[] args) {
        ...
    }
}
4b9b3361

Ответ 1

Я бы указал новичку на статью Wiki на главную функцию, а затем добавьте ее в это.

  • Java запускает только программу с определенной подписью public static void main(String[] args), и можно думать о подписи, например, о своем собственном имени - как Java может отличить друг от друга main() и единственную true main().

  • String[] args - это набор String s, разделенный пробелом, который может быть введен в программу на терминале. Больше времени, чем нет, новичок не собирается использовать эту переменную, но он всегда присутствует на всякий случай.

Ответ 2

Я разбился бы

public static void main(String args[])

по частям:

public

Это означает, что вы можете вызывать этот метод вне класса, в котором вы сейчас находитесь. Это необходимо, потому что этот метод вызывается системой времени выполнения Java, которая не находится в вашем текущем классе.


static

Когда JVM делает вызов основного метода, для вызываемого класса нет объекта, поэтому он должен иметь статический метод, чтобы разрешить вызов из класса.


void

Java - это независимый от платформы язык, и если он вернет некоторое значение, тогда значение может означать разные вещи для разных платформ. Также есть другие способы выхода из программы на многопоточную систему. Подробное объяснение.


main

Это просто имя метода. Это имя является фиксированным и как оно вызывается JVM как точкой входа для приложения.


String args[]

Это аргументы типа String, которые ваше приложение Java принимает при запуске.

Ответ 3

public static void main(string [] args)

public - означает средство спецификатора доступа из любого места, где мы можем получить к нему доступ; static -access-модификатор означает, что мы можем вызвать этот метод напрямую, используя имя класса, не создавая его; void - его тип возврата; main - имя метода string [] args - он принимает только строковый тип аргумента..и хранит его в массиве строк

Ответ 4

  • public: это спецификатор доступа, который означает, что он будет доступен публично.
  • static: это модификатор доступа, который означает, что при загрузке java-программы он автоматически создаст пространство в памяти.
  • void: это тип возврата, то есть он не возвращает никакого значения.
  • main(): это метод или имя функции.
  • string args[]: его аргумент командной строки - это набор переменных в строковом формате.

Ответ 5

Если бы я объяснял это кому-то, я бы сказал, что мы доберемся до него позже, вам нужно знать, что способ запуска вашей программы - использовать:

public static void main(String[] args) {
        ...
    }

Предполагая, что он/она знает, что такое массив, я бы сказал, что аргументы являются массивом аргументов, и вы можете показать интересные примеры.

Затем, после того как вы немного поделились с Java/JVM и этим материалом, вы также получили бы модификаторы со статическими и общедоступными.

Затем вы можете потратить некоторое время на разговор о значении этих ИМХО.

Можно упомянуть и другие "классные" вещи, такие как varargs, которые вы можете использовать в более поздних версиях Java.

public static void main(String ...args) {
        //...
    }

Ответ 6

Чтобы поддерживать отношение начинающих, вы можете объяснить, что вся командная строка автоматически разделяется на массив fo String (String[]).

Для static вам нужно объяснить, что это не поле, подобное другому: оно уникально в JVM, даже если у вас есть тысячи экземпляров класса

Итак, main является статическим, потому что это единственный способ его найти (связанный в своем классе) в jar.

... после просмотра кода, и ваша работа начнется...

Ответ 7

Обычное использование static - это доступ к функции напрямую без какого-либо создания объекта. То же, что и в java main, мы не могли бы создать какой-либо объект для этого класса для вызова основного метода. Он будет выполняться автоматически. Если мы хотим выполнить вручную, мы можем вызвать с помощью main() внутри класса и ClassName.main извне класса.

Ответ 8

Я просто подумал, что я зацепился за это. Это были хорошие ответы другим.

Полное объявление основного метода должно быть:

 public static void main(final String[] args) throws Exception {

 }

Арги объявляются окончательными, потому что технически они не должны быть изменены. Это параметры консоли, заданные пользователем.

Обычно вы должны указывать, что main выбрасывает Exception, чтобы трассировки стека могли быть эхом переданы на консоль легко, без необходимости делать e.printStackTrace() и т.д.

Как для синтаксиса массива. Я предпочитаю это так. Я полагаю, что это немного похоже на разницу между французским и английским. По-английски это "черный автомобиль", на французском он "автомобиль черный". Какое важное существительное, автомобиль или черный?

Мне не нравятся такие вещи:

String blah[] = {};

Важно то, что это массив String, поэтому он должен быть

String[] blah = {};

blah - это просто имя. Я лично считаю, что это ошибка на Java, поэтому массивы иногда могут быть объявлены таким образом.

Ответ 9

когда вы запускаете приложение из консоли, вы делаете свой java -jar (имя файла) (args), поэтому, если вы должны запускать программу, которая читает из файла, который вы делаете

Если ваша программа была вызвана readFile, после того, как вы сделали исполняемую версию (я бы не стал объяснять, как это сделать), вам нужно выполнить программу.

java -jar readFile.jar C:/user/Matt/documents/myText.txt
       ^ launch program       ^ args

расположение файла будет args [] для программы.