1 package ducks;
2
3 public abstract class ArchDuck {
4 abstract String identity();
5
6 String ancestors;
7
8 public String heritage() {
9 return identity() + " born of " + ancestors;
10 }
11
12 public String whoami() {
13 return "I am " + heritage() + ".";
14 }
15
16 public ArchDuck() {
17 ancestors = "the void";
18 }
19
20 ArchDuck(ArchDuck d) {
21 ancestors = d.heritage();
22 }
23
24 ArchDuck(int i) {
25
26 if (i == 0) {
27 }
28 ancestors = "an integer";
29 }
30
31 ArchDuck(String i) {
32 ancestors = "the string \"" + i + "\"";
33 }
34 }