匿名类虽然没有名字,但可以有一个初始化块来充当构造函数。
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());
}