Non-static initializers, also known as instance initializers, are blocks of code within a class that are executed when an instance of the class is
created. They are executed when an object of the class is created just before the constructor is called. Non-static initializers are useful when you
want to perform some common initialization logic for all objects of a class. They allow you to initialize instance variables in a concise and
centralized manner, without having to repeat the same initialization code in each constructor.
While non-static initializers may have some limited use cases, they are rarely used and can be confusing for most developers because they only run
when new class instances are created.