https://www.youtube.com/watch?v=3k2bIMFeIp8

Flexible Constructors

Java 23 will loosen restrictions on how the super() method will be called. It need not be called the first operation in the derived constructor.

String value;

public Constructor(String aValue) {
	value = aValue
	super()
}
public Constructor(String aValue) {
	value = aValue;
	check(value)
	super()
}

public static void check(value) {
	...
}
public Constructor(String aValue) {
	var value = aValue * 2;
	super(value,value)
}

The reason the changes above were made was so as to allow both

<aside> 💡 The JVM is not doing different things; it is just doing things differently

</aside>