Java main method has a must follow signature, which is
Anything except that doesn't considered a main method. In your code main() method has a different signature but a valid method signature, so no compile time error. But when Java tuntime checks for the main method it couldn't find the method and given the runtime exception.
public static void main(String args) is the syntax(i.e., in Java the main method will take an argument of array of String Objects) if you write public static void main(void) the compiler will check the syntax.. that is why your getting that.