Constructor initialization with composition : Constructor « Class « Java






Constructor initialization with composition

Constructor initialization with composition
 
// : c06:Bath.java
// Constructor initialization with composition.
// From 'Thinking in Java, 3rd ed.' (c) Bruce Eckel 2002
// www.BruceEckel.com. See copyright notice in CopyRight.txt.

class Soap {
  private String s;

  Soap() {
    System.out.println("Soap()");
    s = new String("Constructed");
  }

  public String toString() {
    return s;
  }
}

public class Bath {
  private String // Initializing at point of definition:
      s1 = new String("Happy"), s2 = "Happy", s3, s4;

  private Soap castille;

  private int i;

  private float toy;

  public Bath() {
    System.out.println("Inside Bath()");
    s3 = new String("Joy");
    i = 47;
    toy = 3.14f;
    castille = new Soap();
  }

  public String toString() {
    if (s4 == null) // Delayed initialization:
      s4 = new String("Joy");
    return "s1 = " + s1 + "\n" + "s2 = " + s2 + "\n" + "s3 = " + s3 + "\n"
        + "s4 = " + s4 + "\n" + "i = " + i + "\n" + "toy = " + toy
        + "\n" + "castille = " + castille;
  }

  public static void main(String[] args) {
    Bath b = new Bath();
    System.out.println(b);

  }
} ///:~



           
         
  








Related examples in the same category

1.Paying attention to exceptions in constructorsPaying attention to exceptions in constructors
2.Order of constructor callsOrder of constructor calls
3.Constructors and polymorphism don't produce what you might expectConstructors and polymorphism don't produce what you might expect
4.Demonstration of a simple constructorDemonstration of a simple constructor
5.Constructors can have argumentsConstructors can have arguments
6.Show Constructors conflicting
7.Show that if your class has no constructors, your superclass constructors still get calledShow that if your class has no constructors, your superclass constructors still get called
8.Constructor calls during inheritanceConstructor calls during inheritance
9.A constructor for copying an object of the sameA constructor for copying an object of the same
10.Create a new instance of a class by calling a constructor with arguments