Hi,
I'm new to java programming and i need the explanation why we use
public static void main(String args[])
and why we use "main" only rather than other word...please help me....
1
Expert's answer
2011-10-04T08:43:39-0400
The word "main" comes from language C. The program in C/C++ can be regarded as a collection of functions and declarations of variables, structures and classes. Moreover, each structure/class contains declarations of its properties (internal variables) and methods (internal functions). If we want to "run the program", we should decide which function should be runned first. Therefore the developers of C just fixed up that the first function to run will be called "main" (so to say "primary" function) and this function has very special declaration either
The first declaration means that the program will take & argc - command line arguments which will be written into the array of C-strings& argv[].
The second declaration means that the program do not recognize any command line arguments.
In Java the situation is similar. The program in Java consists of descriptions of classes ONLY, while each class contains its own properties ("variables") and methods ("functions"). So, again in order to run the program we should decide which method of which class will be runned first.
Therefore the developers of Java fixed up that in the program there should be a unique public class which contains a public method called "main" and this function should have the following declaration:
public static void main(String args[]) { & ...............
};
Similarly to the argument& "char * argv[]" of the C/C++ function "main" the argument String args[]& is an array of Java-strings. On the other hand the length of this array (the argument "int argc" in C/C++ "main") is absent, since the Java-array is a class which has property length: & args.length gives the length of args.
The keyword "void" means that the method "main" does not return any value.
The keyword "public" means that this method can be accessed outside from class.
The keyword "static" means that this method uses no instance variables of any object of the class in which it is declared. For example if you write
public class A{ int a; & // instance variable public static void main(String args[]) { & a=5; & // error: static method "main" uses instance variable "a" }; };
Comments
Leave a comment