Introduction
I noticed in JavaFX there isn’t really the same kind of concept as a constructor in Java. I want to create an example that will show the order of the init block and postinit block execution when an object is instantiated. I created a super class (SuperClass) and a subclass (SubClass extends SuperClass) to see the order of init blocks and postinit blocks executed.
This is the order the init and post init block run execution:
- Init block executes right after the attribute values are set or initialized.
- Postinit block executes right after the object is finished initialized.
Example
package initstuff; /** * This will simply display the order of init block order. * @author carldea */ var x:Integer = count(); function count():Integer { Main.x=Main.x+1; }; class SuperClass{ init { println("{x} SuperClass init block"); count(); } postinit{ println("{x} SuperClass postinit block"); count(); } } class SubClass extends SuperClass{ init { println("{x} SubClass init block"); count(); } postinit{ println("{x} SubClass postinit block"); count(); } } var myJfxObject = SubClass{}
Output
1 SuperClass init block
2 SubClass init block
3 SuperClass postinit block
4 SubClass postinit block