// Conifer.java // Author: Kiri Wagstaff // Date: July 24, 2001 public class Conifer extends Tree { int numNeedles; int numCones; public Conifer() { // Because there is a default constructor for Tree, // we don't need to explictly call one here. // But we will anyway, to show how it's done. super(); numNeedles = 0; numCones = 0; } public Conifer(double height, int numNeedles, int numCones) { // We need to specify which constructor we want here super(height); this.numNeedles = numNeedles; this.numCones = numCones; } // We won't actually return a pinecone, but we'll // decrement how many it has. public void getCone() { if (numCones > 0) numCones--; } // Override the Tree water() method public void water() { super.water(); // Grow some needles too! System.out.print(" (water conifer) "); numNeedles += 10; } public String toString() { // Call the superclass's method String s = super.toString(); // Now add some conifer-specific stuff return s + ", " + numNeedles + " needles and " + numCones + " cones."; } }