Regarding the main method which is the entry point of the application, the String argument is required because of a design choice. It's just a standard way to pass input arguments to the application.
Yeah, I think it just comes from a long LONG legacy with C. When you type in parameters they are often treated as character groups....or... words. And an easy way to pass those is as strings in an array.
SCJP - 86% - June 11, 2009
Is the parameter String in the main method of a public class required by language design or is it based on other logic?
Java allows overloading of methods. To determine a method signature the name of the method must match and the type and the order of the parameters must match. For a main method to be an entry-point, it must be called "main" and the paramter list must be one parameter, a String array for the main method to be eligible to be an entry-point.