-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathBath.java
More file actions
51 lines (42 loc) · 933 Bytes
/
Bath.java
File metadata and controls
51 lines (42 loc) · 933 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
package thinkinginjava.reusing;
// Constructor initialization with composition.
import static thinkinginjava.util.Print.*;
class Soap {
private String s;
Soap() {
print("Soap()");
s = "Constructed";
}
public String toString() {
return s;
}
}
public class Bath {
private String // Initializing at point of definition:
s1 = "Happy",
s2 = "Happy", s3, s4;
private Soap castille;
private int i;
private float toy;
public Bath() {
print("Inside Bath()");
s3 = "Joy";
toy = 3.14f;
castille = new Soap();
}
// Instance initialization:
{
i = 47;
}
public String toString() {
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" + "castille = " + castille;
}
public static void main(String[] args) {
Bath b = new Bath();
print(b);
}
}