Win a copy of Learn Spring Security (video course) this week in the Spring forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Non static initialization

 
shailu kneni
Greenhorn
Posts: 7
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
What does it mean to put some code in a block? Please look at this code. What is the difference in putting the lines in bold in a block vs not putting them in a block?

Thanks,
Shails
 
Jeff Langr
author
Ranch Hand
Posts: 799
5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The code in a block is an instance initializer block. It is executed each time an instance of the class is created. You can have any number of instance initializers. Instance initializers are executed after superclass construction but before the constructor of the current class is executed. Otherwise, they are executed in top-down declaration order.
Contrast with the idea of a static initializer block, which is executed when a class is loaded. A static initializer block looks the same as an instance initializer block except it is preceded with the word static.
One significant use for instance initialization blocks is to allow for initialization of classes that can't have constructors--anonymous inner classes.
-Jeff-
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic