-5

Public static void main(String[] args) please explain why here we make parameter array and why it is static what is args [].

Jens
  • 67,715
  • 15
  • 98
  • 113
rahil
  • 29
  • 6
  • static because the JVM shouldn't need to construct any objects before starting the application and `String[]` because you may invoke the application with string arguments from command line. – aioobe Mar 11 '15 at 07:39
  • thank you for your answer here a little bit confusion i.e what is jvm and what is it work in java. – rahil Mar 11 '15 at 07:50
  • See [Lesson: A Closer Look at the "Hello World!" Application](http://docs.oracle.com/javase/tutorial/getStarted/application/) and [Command-Line Arguments](http://docs.oracle.com/javase/tutorial/essential/environment/cmdLineArgs.html). – Jesper Mar 11 '15 at 08:31

3 Answers3

2

static >It is used with main() and provide the advantage of static method that means there is no need to create an object to invoke the main method.

void > The main() is declared as void because it doesn't return any value.

String[] args >This parameter is used for command line arguments.so whatever argumnets passed on command line will be collected in args[] array.

for example

class CommandLineExample{  
public static void main(String args[]){  
System.out.println("Your first argument is: "+args[0]);
System.out.println("Your second argument is: "+args[1]);  
}  
}  

compile by > javac CommandLineExample.java  
run by > java CommandLineExample India USA  

output:

Your first argument is: India
Your second argument is: USA
eLemEnt
  • 1,741
  • 14
  • 21
  • thank you for your answer here a little bit confusion i.e what is jvm and what is it work in java. – rahil Mar 11 '15 at 07:50
0

When you launch your application from command prompt, then java interpreter looks for public static void main(String[] args) method in your application class and invokes it.

All command line parameters are passed to this method as array of Strings.

For instance if you call:

java MyClass param1 param2 param3

java interpreter invokes public static void main(String[] args) of MyClass class and passes an array with elements param1, param2, param3 as args parameter for this method.

If your class MyClass does not contain public static void main(String[] args) method, then you will get an error.

And let's explain public static void main(String[] args) modifiers.

  • public - to be accessible outside of your class package.
  • static - because it does not connected to MyClass instance, it can be invoked without building an object of MyClass.
  • void - because this method returns nothing.
0

public means that main() can be called from anywhere.
static means that main() doesn't belong to a specific object.
void means that main() returns no value.
main is the name of a function. main() is special because it is the start of the program.
String[] means an array of String.
args is the name of the String[] (within the body of main()). args is not special; you could name it anything else and the program would work the same.

Mohan Gs
  • 1
  • 2