I think you are getting confused on the overloaded main method. When you run this class as follows:
java MyClass a
The JVM will always look for a method in MyClass with the signature "public static void main(String[] args)" and pass the "a" into the first element of the String array.
The overloaded method "public static void main(char args[])" will never be executed when you run MyClass, even if you pass what appears to be the char value 'a' in the command line argument. The only way that this method can be executed is if you call it from inside of your already running program.