Specifying initial values in a class definition : Fields « Class « Java






Specifying initial values in a class definition

Specifying initial values in a class definition
// : c04:StaticInitialization.java
// Specifying initial values in a class definition.
// From 'Thinking in Java, 3rd ed.' (c) Bruce Eckel 2002
// www.BruceEckel.com. See copyright notice in CopyRight.txt.
class Bowl {
  Bowl(int marker) {
    System.out.println("Bowl(" + marker + ")");
  }

  void f(int marker) {
    System.out.println("f(" + marker + ")");
  }
}

class Table {
  static Bowl b1 = new Bowl(1);

  Table() {
    System.out.println("Table()");
    b2.f(1);
  }

  void f2(int marker) {
    System.out.println("f2(" + marker + ")");
  }

  static Bowl b2 = new Bowl(2);
}

class Cupboard {
  Bowl b3 = new Bowl(3);

  static Bowl b4 = new Bowl(4);

  Cupboard() {
    System.out.println("Cupboard()");
    b4.f(2);
  }

  void f3(int marker) {
    System.out.println("f3(" + marker + ")");
  }

  static Bowl b5 = new Bowl(5);
}

public class StaticInitialization {
  public static void main(String[] args) {
    System.out.println("Creating new Cupboard() in main");
    new Cupboard();
    System.out.println("Creating new Cupboard() in main");
    new Cupboard();
    t2.f2(1);
    t3.f3(1);

  }

  static Table t2 = new Table();

  static Cupboard t3 = new Cupboard();
} ///:~



           
       








Related examples in the same category

1.Declaring VariablesDeclaring Variables
2.Accessing Outer Class VariablesAccessing Outer Class Variables
3.The full process of initializationThe full process of initialization