What is the requirement for a class to be used as a custom visualforce controller?
A. Any top-level Apex class that has a constructor that returns a PageReference B. Any top-level Apex class that implements the controller interface C. Any top-level Apex class that has a default, no-argument constructor D. Any top-level Apex class that extends a PageReference
The requirement to this is letter C. It will not be possible to create a custom controller that comes with different parameters. Creating this is easy as long as you know the version settings that you want to set. Most people would choose the most recent version but if you need an older version, you can specify that as well.
Enter the APEX code that will be used for the class. Take note that an APEX class can hold up to a million characters. Click save to check if you have edited it correctly. You can make further changes and editing if you believe that it is still not working the best way possible.