What happens when I call FXMLLoader#load() in JavaFX?
Suppose the FXML controller extends a class that has a constructor. Will there be assurance that the construct
To answer your question "what does a FXMLLoader do exactly when building a controller?":
first it will try to get a controller instance:
after getting the controller instance, it will do the following with it:
I'm not entirely sure what you are trying to do but normally the controller should not extend a textfield.
That aside, this is basic java stuff: textfield has an empty constructor, your controller has none so java will (by default) call the empty constructor available in TextField. The TextField constructor will by default (even if it's not in the code) call the constructor of the class it extends and so on. There is no way to construct an object in java without a constructor being called.