public class TreeNode {
  private Object item;
  private int leftChild;
  private int rightChild;

  ...  
}  // end TreeNode

public abstract class BinaryTreeArrayBased {
  protected final int MAX_NODES = 100;
  protected TreeNode tree[];
  protected int root; // index of tree's root
  protected int free; // index of next unused array
                      // location
  . . .
  // constructors and methods
} // end BinaryTreeArrayBased