extendedoperation.java
来自「书籍Effective java的源代码」· Java 代码 · 共 27 行
JAVA
27 行
// Subclass of extensible, serializable typesafe enum - Page 112
import java.io.*;
abstract class ExtendedOperation extends Operation {
ExtendedOperation(String name) { super(name); }
public static Operation LOG = new ExtendedOperation("log") {
protected double eval(double x, double y) {
return Math.log(y) / Math.log(x);
}
};
public static Operation EXP = new ExtendedOperation("exp") {
protected double eval(double x, double y) {
return Math.pow(x, y);
}
};
// The 4 declarations below are necessary for serialization
private static int nextOrdinal = 0;
private final int ordinal = nextOrdinal++;
private static final Operation[] VALUES = { LOG, EXP };
Object readResolve() throws ObjectStreamException {
return VALUES[ordinal]; // Canonicalize
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?