60 lines
1.2 KiB
Java
Raw Normal View History

2015-09-07 11:44:36 -06:00
// reuse/Bath.java
// (c)2021 MindView LLC: see Copyright.txt
2015-11-15 15:51:35 -08:00
// We make no guarantees that this code is fit for any purpose.
2016-09-23 13:23:35 -06:00
// Visit http://OnJava8.com for more book information.
2016-01-25 18:05:55 -08:00
// Constructor initialization with composition
2015-06-15 17:47:35 -07:00
class Soap {
private String s;
Soap() {
2015-11-03 12:00:44 -08:00
System.out.println("Soap()");
2015-06-15 17:47:35 -07:00
s = "Constructed";
}
@Override public String toString() { return s; }
2015-06-15 17:47:35 -07:00
}
public class Bath {
private String // Initializing at point of definition:
s1 = "Happy",
s2 = "Happy",
s3, s4;
private Soap castile;
2015-06-15 17:47:35 -07:00
private int i;
private float toy;
public Bath() {
2015-11-03 12:00:44 -08:00
System.out.println("Inside Bath()");
2015-06-15 17:47:35 -07:00
s3 = "Joy";
toy = 3.14f;
castile = new Soap();
2015-06-15 17:47:35 -07:00
}
// Instance initialization:
{ i = 47; }
@Override public String toString() {
2015-06-15 17:47:35 -07:00
if(s4 == null) // Delayed initialization:
s4 = "Joy";
return
"s1 = " + s1 + "\n" +
"s2 = " + s2 + "\n" +
"s3 = " + s3 + "\n" +
"s4 = " + s4 + "\n" +
"i = " + i + "\n" +
"toy = " + toy + "\n" +
"castile = " + castile;
2015-06-15 17:47:35 -07:00
}
public static void main(String[] args) {
Bath b = new Bath();
2015-11-03 12:00:44 -08:00
System.out.println(b);
2015-06-15 17:47:35 -07:00
}
2015-09-07 11:44:36 -06:00
}
/* Output:
2015-06-15 17:47:35 -07:00
Inside Bath()
Soap()
s1 = Happy
s2 = Happy
s3 = Joy
s4 = Joy
i = 47
toy = 3.14
castile = Constructed
2015-09-07 11:44:36 -06:00
*/