No, they are not created until announced. The initialization order is fixed in Java, and it does not matter where in the code you place your declarations and constructors.
As for the agreement, it really depends on what you are comfortable with. Although the truth is that the convention is to announce applications first, and then designers, your approach is as effective as any other, if it does not contradict your nature or company rules.
In addition, much more dangerous material is added to the code, which makes it less readable, for example, single-letter variables or the widespread use of less common structures (for example, a three-dimensional operator for complex conditions). Organizing your code is one of the least troubles, as any decent IDE can reorganize your code with whatever settings you place there.
Jakub zaverka
source share