Rss Feed
  1. Метод main() указывает интерпретатору класс, с которого нужно начать выполнение программы. Однако в языке Java разрешено использовать несколько методов с названием main() даже в одном классе. Поэтому по-настоящему главный метод содержит аргументы командной строки (String[] args).

    Пример:............................................................................................................................................

    public class Testmain {
        public static void main(String[] args) {
       
            if(args.length > 0)  //если через консоль были введены аргументы
            System.out.println(args[0]);  //то вывести на консоль первый элемент из массива
           
            else //иначе —
            Testmain obj = new Testmain(); //создать объект
            obj.main(); //и использовать обычный метод с названием main()
            }
        }
       
        public static void main() {  //это обычный метод с названием main()
        System.out.println("it's usual main method without String[] args!");
        }
    }
    ..........................................................................................................................................................


    В командной строке консоли после команды java Testmain было введено три аргумента: 1 2 3. В программе строка System.out.println(args[0]); выводит на консоль первый аргумент массива args[0], в данном случае выведено 1.
    Если же аргументы не были указаны через консоль, то выполняется блок оператора else, в котором вызывается обычный метод, но тоже названный main().


    Дополнительная информация:
    args в методе main() — это название массива String[] и оно может быть другим.

    Пример:............................................................................................................................................

    public class Testmain2 {
        public static void main(String[] lalala) {
      
            if(lalala.length > 0)  //если через консоль были введены аргументы
            System.out.println(lalala[0]);  //то вывести на консоль первый элемент из массива
          
            else//иначе —
            Testmain2 obj = new Testmain2(); //создать объект
            obj.main(); //и использовать обычный метод с названием main()
            }
        }

        public static void main() {  //это обычный метод с названием main()
        System.out.println("it's usual main method without String[] lalala!");
        }
    }
    ..........................................................................................................................................................

  2. 2 коммент.:

    1. Unknown сказав...

      Вроде для статических методот нужен не объект, а класс:

      Вместо obj.main(); нужно Testmain2.main()

    2. thinker сказав...

      Да, при статическом методе можно вместо
      Testmain2 obj = new Testmain2(); //создать объект
      obj.main();
      написать просто Testmain2.main();

      будет работать в обоих вариантах.

    Дописати коментар