匿名类虽然没有名字,但可以有一个初始化块来充当构造函数。
public enum Ops {ADD, SUB} public class Calculator { private int i, j, result; public Calculator() { } public Calculator(int _i, int _j) { i = _i; j = _j; } protected void setOperator(Ops _op) { result = _op.equals(Ops.ADD) ? i+j : i-j; } public int getResult(){ return result; } } public static void main(String[] args) { Calculator c = new Calculator(1, 2) { { setOperator(Ops.ADD); } }; System.out.println(c.getResult()); }