abstract class ExpTree { private Object value; private ExpTree[] children; // Constructors public ExpTree(Object v) { // Only the value value = v; } public ExpTree(ExpTree a, ExpTree b) { // Two subtrees children = new ExpTree[2]; children[0]=a; children[1]=b; } public ExpTree(ExpTree[] c) { // Array of subtrees children=c; } // Getters public Object getValue() { return value; } public ExpTree[] getChildren() { return children; } public abstract Object evaluate(); public abstract String display(); }