One of the options "the MyFunctions class may be used by EL even though it has a public constructor." In the book, this option is correct. The comment say "because EL ignores all instance methods, EL doesn't care that it's dealing with a concrete class"
Three things I don't understand: 1. the option itself (the part after "even though") 2. the comment for this option. 3. Still I don't know if EL can use a constructor
This question is about what kind of Java classes/methods can be used for EL functions. Here are the requirements for such functions :
The class specified in the TLD must be a public class, and must be specified using a fully-qualified class name (including packages).
The specified method must be a public static method in the specified class, and must be specified using a fully-qualified return type followed by the method name, followed by the fully-qualified argument types in parenthesis, separated by commas
About the things you don't understand :
1. It is a mean to disturb you. You can use any public class, having a default constructor or not.
2. Refer to the above requirements
3. EL calls static functions, so the constructor is not used. The class is not even instantiated.