Hi,
Welcome to JavaRanch!
The short answer is that you can't mention any of the members of a class in a constructor until after any call to "this" or "super".
Here you're passing the member "f" to the other constructor of this class, which will print "f". You're essentially trying to trick
Java into displaying the value of "f" before your object is initialized, and Java doesn't want to do that! What are you trying to do, anyway?