<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FClass_Definition%2FInitialization_Block</id>
		<title>Java Tutorial/Class Definition/Initialization Block - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FClass_Definition%2FInitialization_Block"/>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/Class_Definition/Initialization_Block&amp;action=history"/>
		<updated>2026-04-10T17:47:17Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://jexp.ru/index.php?title=Java_Tutorial/Class_Definition/Initialization_Block&amp;diff=4222&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/Class_Definition/Initialization_Block&amp;diff=4222&amp;oldid=prev"/>
				<updated>2010-06-01T05:00:51Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 05:00, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://jexp.ru/index.php?title=Java_Tutorial/Class_Definition/Initialization_Block&amp;diff=4221&amp;oldid=prev</id>
		<title> в 17:44, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/Class_Definition/Initialization_Block&amp;diff=4221&amp;oldid=prev"/>
				<updated>2010-05-31T17:44:27Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==  A class that contains a static initializer: ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
class StaticInit&lt;br /&gt;
{&lt;br /&gt;
    public static int x;&lt;br /&gt;
    static&lt;br /&gt;
    {&lt;br /&gt;
        x = 32;&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Demonstrates the pitfalls of depending on the order of static initializers ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
 *     file: StaticOrderDemo.java&lt;br /&gt;
 *  package: oreilly.hcj.review&lt;br /&gt;
 *&lt;br /&gt;
 * This software is granted under the terms of the Common Public License,&lt;br /&gt;
 * CPL, which may be found at the following URL:&lt;br /&gt;
 * http://www-124.ibm.ru/developerworks/oss/CPLv1.0.htm&lt;br /&gt;
 *&lt;br /&gt;
 * Copyright(c) 2003-2005 by the authors indicated in the @author tags.&lt;br /&gt;
 * All Rights are Reserved by the various authors.&lt;br /&gt;
 *&lt;br /&gt;
########## DO NOT EDIT ABOVE THIS LINE ########## */&lt;br /&gt;
&lt;br /&gt;
import java.util.Arrays;&lt;br /&gt;
/**  &lt;br /&gt;
 * Demonstrates the pitfalls of depending on the order of static initializers.&lt;br /&gt;
 *&lt;br /&gt;
 * @author &lt;br /&gt;
   * @version $Revision: 1.3 $&lt;br /&gt;
   */&lt;br /&gt;
  public static class Values {&lt;br /&gt;
    /** A value holder */&lt;br /&gt;
    public static final String VALUE = &amp;quot;Blue&amp;quot;;&lt;br /&gt;
    /** A specifier for the value */&lt;br /&gt;
    public static final String VALUE_SPECIFIER;&lt;br /&gt;
    static {&lt;br /&gt;
      System.out.println(&amp;quot;static{} method for Values&amp;quot;);&lt;br /&gt;
      System.out.println(VALUE);&lt;br /&gt;
      System.out.println(Ranges.RANGE_BLUE);&lt;br /&gt;
      VALUE_SPECIFIER = Ranges.RANGE_BLUE[1];&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
/* ########## End of File ########## */&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Demonstrates various initializers ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
 *     file: InitializerDemo.java&lt;br /&gt;
 *  package: oreilly.hcj.review&lt;br /&gt;
 *&lt;br /&gt;
 * This software is granted under the terms of the Common Public License,&lt;br /&gt;
 * CPL, which may be found at the following URL:&lt;br /&gt;
 * http://www-124.ibm.ru/developerworks/oss/CPLv1.0.htm&lt;br /&gt;
 *&lt;br /&gt;
 * Copyright(c) 2003-2005 by the authors indicated in the @author tags.&lt;br /&gt;
 * All Rights are Reserved by the various authors.&lt;br /&gt;
 *&lt;br /&gt;
########## DO NOT EDIT ABOVE THIS LINE ########## */&lt;br /&gt;
&lt;br /&gt;
import java.util.StringTokenizer;&lt;br /&gt;
/**  &lt;br /&gt;
 * Demonstrates various initializers.&lt;br /&gt;
 *&lt;br /&gt;
 * @author &lt;br /&gt;
 * @version $Revision: 1.4 $&lt;br /&gt;
 */&lt;br /&gt;
public class InitializerDemo {&lt;br /&gt;
  /** Simple static initialization. */&lt;br /&gt;
  public static final String NAME = &amp;quot;Initializer Demo&amp;quot;;&lt;br /&gt;
  /** Initialized static on one line. */&lt;br /&gt;
  public static final String ARCH = System.getProperty(&amp;quot;os.arch&amp;quot;);&lt;br /&gt;
  /** Static method based initialization. */&lt;br /&gt;
  public static final String USER_HOME;&lt;br /&gt;
  static {&lt;br /&gt;
    USER_HOME = System.getProperty(&amp;quot;user.home&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  /** Simple instance member initialization. */&lt;br /&gt;
  public String description = &amp;quot;An initialized member&amp;quot;;&lt;br /&gt;
  /** Method call instance member initialization. */&lt;br /&gt;
  public long timestamp = System.currentTimeMillis();&lt;br /&gt;
  /** Complex instance member initialization. */&lt;br /&gt;
  private String xmlClasspath;&lt;br /&gt;
  {&lt;br /&gt;
    final StringBuffer buf = new StringBuffer(500);&lt;br /&gt;
    final String classPath = System.getProperty(&amp;quot;java.class.path&amp;quot;);&lt;br /&gt;
    StringTokenizer tok =&lt;br /&gt;
      new StringTokenizer(classPath, System.getProperty(&amp;quot;path.separator&amp;quot;));&lt;br /&gt;
    buf.append(&amp;quot;&amp;lt;classpath&amp;gt;\n&amp;quot;);&lt;br /&gt;
    while (tok.hasMoreTokens()) {&lt;br /&gt;
      buf.append(&amp;quot;  &amp;lt;pathelement location=\&amp;quot;&amp;quot;);&lt;br /&gt;
      buf.append(tok.nextToken());&lt;br /&gt;
      buf.append(&amp;quot;\&amp;quot;/&amp;gt;\n&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    buf.append(&amp;quot;&amp;lt;/classpath&amp;gt;&amp;quot;);&lt;br /&gt;
    xmlClasspath = buf.toString();&lt;br /&gt;
  }&lt;br /&gt;
  /** &lt;br /&gt;
   * Creates a new instance of Initalizers&lt;br /&gt;
   */&lt;br /&gt;
  public InitializerDemo() {&lt;br /&gt;
  }&lt;br /&gt;
  /** &lt;br /&gt;
   * Main method of the demonstration.&lt;br /&gt;
   *&lt;br /&gt;
   * @param args Command line arguments (ignored).&lt;br /&gt;
   */&lt;br /&gt;
  public static final void main(final String[] args) {&lt;br /&gt;
    InitializerDemo demo = new InitializerDemo();&lt;br /&gt;
    System.out.println(&amp;quot;------Dumping Contents-----------&amp;quot;);&lt;br /&gt;
    System.out.println(&amp;quot;---------------------------------&amp;quot;);&lt;br /&gt;
    System.out.println(InitializerDemo.NAME);&lt;br /&gt;
    System.out.println(InitializerDemo.ARCH);&lt;br /&gt;
    System.out.println(InitializerDemo.USER_HOME);&lt;br /&gt;
    System.out.println(demo.description);&lt;br /&gt;
    System.out.println(demo.xmlClasspath);&lt;br /&gt;
    System.out.println(&amp;quot;---------------------------------&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
/* ########## End of File ########## */&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Explicit static initialization with the static clause ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
class MyClass {&lt;br /&gt;
  MyClass(int marker) {&lt;br /&gt;
    System.out.println(&amp;quot;Cup(&amp;quot; + marker + &amp;quot;)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  void f(int marker) {&lt;br /&gt;
    System.out.println(&amp;quot;f(&amp;quot; + marker + &amp;quot;)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class MyStatic {&lt;br /&gt;
  static MyClass c1;&lt;br /&gt;
  static MyClass c2;&lt;br /&gt;
  static {&lt;br /&gt;
    c1 = new MyClass(1);&lt;br /&gt;
    c2 = new MyClass(2);&lt;br /&gt;
  }&lt;br /&gt;
  MyStatic() {&lt;br /&gt;
    System.out.println(&amp;quot;Cups()&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    System.out.println(&amp;quot;Inside main()&amp;quot;);&lt;br /&gt;
    MyStatic.c1.f(99); // (1)&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;Inside main()&lt;br /&gt;
Cup(1)&lt;br /&gt;
Cup(2)&lt;br /&gt;
f(99)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Initialization order ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
class MyClass {&lt;br /&gt;
  MyClass(int marker) {&lt;br /&gt;
    System.out.println(&amp;quot;Tag(&amp;quot; + marker + &amp;quot;)&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class MyInit {&lt;br /&gt;
  MyClass t1 = new MyClass(1); // Before constructor&lt;br /&gt;
  MyInit() {&lt;br /&gt;
    System.out.println(&amp;quot;Card()&amp;quot;);&lt;br /&gt;
    t3 = new MyClass(33);&lt;br /&gt;
  }&lt;br /&gt;
  MyClass t2 = new MyClass(2); // After constructor&lt;br /&gt;
  void f() {&lt;br /&gt;
    System.out.println(&amp;quot;f()&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  MyClass t3 = new MyClass(3); // At end&lt;br /&gt;
}&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    MyInit t = new MyInit();&lt;br /&gt;
    t.f();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;Tag(1)&lt;br /&gt;
Tag(2)&lt;br /&gt;
Tag(3)&lt;br /&gt;
Card()&lt;br /&gt;
Tag(33)&lt;br /&gt;
f()&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Initializing Data Members ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  static final double PI = 3.14;          // Class variable that has a fixed value&lt;br /&gt;
  static int count = 0;                   // Class variable to count objects&lt;br /&gt;
&lt;br /&gt;
  public void aMethod() {&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Mixed Initializer ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
public class MixedInitializer {&lt;br /&gt;
  int i1;&lt;br /&gt;
  static int i2;&lt;br /&gt;
  int i3 = 2;&lt;br /&gt;
  static int i4 = 4;&lt;br /&gt;
  {&lt;br /&gt;
    System.out.println(&amp;quot;i1 = &amp;quot; + i1);&lt;br /&gt;
    i1 = 6;&lt;br /&gt;
    System.out.println(&amp;quot;i1 = 6&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  static {&lt;br /&gt;
    System.out.println(&amp;quot;i2 = &amp;quot; + i2);&lt;br /&gt;
    i2 = 8;&lt;br /&gt;
    System.out.println(&amp;quot;i2 = 8&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    System.out.println(&amp;quot;main() entered&amp;quot;);&lt;br /&gt;
    MixedInitializer mi = new MixedInitializer();&lt;br /&gt;
    System.out.println(&amp;quot;mi.i1 = &amp;quot; + mi.i1);&lt;br /&gt;
    System.out.println(&amp;quot;i2 = &amp;quot; + i2);&lt;br /&gt;
    System.out.println(&amp;quot;mi.i3 = &amp;quot; + mi.i3);&lt;br /&gt;
    System.out.println(&amp;quot;i4 = &amp;quot; + i4);&lt;br /&gt;
    System.out.println(&amp;quot;main() exited&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  {&lt;br /&gt;
    i1 += 6;&lt;br /&gt;
    System.out.println(&amp;quot;6 + i1&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  static {&lt;br /&gt;
    i2 -= 3;&lt;br /&gt;
    System.out.println(&amp;quot;i2 -= 3&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  The full process of initialization ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
class Insect {&lt;br /&gt;
  private int i = 1;&lt;br /&gt;
  protected int j;&lt;br /&gt;
  Insect() {&lt;br /&gt;
    System.out.println(&amp;quot;i = &amp;quot; + i + &amp;quot;, j = &amp;quot; + j);&lt;br /&gt;
    j = 1;&lt;br /&gt;
  }&lt;br /&gt;
  private static int x1 = print(&amp;quot;static Insect.x1 initialized&amp;quot;);&lt;br /&gt;
  static int print(String s) {&lt;br /&gt;
    System.out.println(s);&lt;br /&gt;
    return 0;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class Beetle extends Insect {&lt;br /&gt;
  private int k = print(&amp;quot;Beetle.k initialized&amp;quot;);&lt;br /&gt;
  public Beetle() {&lt;br /&gt;
    System.out.println(&amp;quot;k = &amp;quot; + k);&lt;br /&gt;
    System.out.println(&amp;quot;j = &amp;quot; + j);&lt;br /&gt;
  }&lt;br /&gt;
  private static int x2 = print(&amp;quot;static Beetle.x2 initialized&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    Beetle b = new Beetle();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;static Insect.x1 initialized&lt;br /&gt;
static Beetle.x2 initialized&lt;br /&gt;
i = 1, j = 0&lt;br /&gt;
Beetle.k initialized&lt;br /&gt;
k = 0&lt;br /&gt;
j = 1&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Using Initialization Blocks: A non-static initialization block ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;OL&amp;gt;&amp;lt;LI&amp;gt;Executed for each object that is created.&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;Can initialize instance variables in a class.&amp;lt;/LI&amp;gt;&amp;lt;/OL&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  static int[] values = new int[10];&lt;br /&gt;
  {&lt;br /&gt;
    System.out.println(&amp;quot;Running initialization block.&amp;quot;);&lt;br /&gt;
    for (int i = 0; i &amp;lt; values.length; i++) {&lt;br /&gt;
      values[i] = (int) (100.0 * Math.random());&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  void listValues() {&lt;br /&gt;
    for (int value : values) {&lt;br /&gt;
      System.out.println(value);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    MainClass example = new MainClass();&lt;br /&gt;
    System.out.println(&amp;quot;\nFirst object:&amp;quot;);&lt;br /&gt;
    example.listValues();&lt;br /&gt;
    example = new MainClass();&lt;br /&gt;
    System.out.println(&amp;quot;\nSecond object:&amp;quot;);&lt;br /&gt;
    example.listValues();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;Running initialization block.&lt;br /&gt;
First object:&lt;br /&gt;
35&lt;br /&gt;
17&lt;br /&gt;
1&lt;br /&gt;
10&lt;br /&gt;
42&lt;br /&gt;
38&lt;br /&gt;
42&lt;br /&gt;
71&lt;br /&gt;
24&lt;br /&gt;
7&lt;br /&gt;
Running initialization block.&lt;br /&gt;
Second object:&lt;br /&gt;
45&lt;br /&gt;
78&lt;br /&gt;
49&lt;br /&gt;
9&lt;br /&gt;
11&lt;br /&gt;
36&lt;br /&gt;
0&lt;br /&gt;
18&lt;br /&gt;
56&lt;br /&gt;
38&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Using Initialization Blocks: static initialization block ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;OL&amp;gt;&amp;lt;LI&amp;gt;A block defined using the keyword static.&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;Executed once when the class is loaded.&amp;lt;/LI&amp;gt;&amp;lt;LI&amp;gt;Can initialize only static data members of the class.&amp;lt;/LI&amp;gt;&amp;lt;/OL&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  static int[] values = new int[10];&lt;br /&gt;
  static {&lt;br /&gt;
    System.out.println(&amp;quot;Running initialization block.&amp;quot;);&lt;br /&gt;
    for (int i = 0; i &amp;lt; values.length; i++) {&lt;br /&gt;
      values[i] = (int) (100.0 * Math.random());&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  void listValues() {&lt;br /&gt;
    for (int value : values) {&lt;br /&gt;
      System.out.println(value);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    MainClass example = new MainClass();&lt;br /&gt;
    System.out.println(&amp;quot;\nFirst object:&amp;quot;);&lt;br /&gt;
    example.listValues();&lt;br /&gt;
    example = new MainClass();&lt;br /&gt;
    System.out.println(&amp;quot;\nSecond object:&amp;quot;);&lt;br /&gt;
    example.listValues();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=codeResult&amp;gt;Running initialization block.&lt;br /&gt;
First object:&lt;br /&gt;
58&lt;br /&gt;
22&lt;br /&gt;
49&lt;br /&gt;
75&lt;br /&gt;
1&lt;br /&gt;
35&lt;br /&gt;
76&lt;br /&gt;
19&lt;br /&gt;
27&lt;br /&gt;
63&lt;br /&gt;
Second object:&lt;br /&gt;
58&lt;br /&gt;
22&lt;br /&gt;
49&lt;br /&gt;
75&lt;br /&gt;
1&lt;br /&gt;
35&lt;br /&gt;
76&lt;br /&gt;
19&lt;br /&gt;
27&lt;br /&gt;
63&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>