Java匿名クラスを使用したインタフェースの直接インスタンス化
990 ワード
newによってインタフェースの一時的な実装を直接作成できます.直接コード:
public class DataType {
}
コードではnew Type Convention(){..}がインタフェースのすべての方法を実現している.インタフェースTypeConventionは、インタフェースクラスを個別に作成したり、STRING、DECIMALなどの他のタイプの実装を追加したりすることができます.
public class DataType {
public interface TypeConvention {
float toFloat(Object value);
String toString(Object value);
int toInt(Object value);
boolean match(String type);
}
public static final TypeConvention FLOAT = new TypeConvention() {
@Override
public String toString(Object value) {
return null;
}
@Override
public int toInt(Object value) {
return 0;
}
@Override
public float toFloat(Object value) {
return 0;
}
@Override
public boolean match(String type) {
return "float".equals(type.trim().toLowerCase());
}
};
public static void main(String[] args) {
//process float data type
if (DataType.FLOAT.match("float")) {
//TODO
}
}
}
コードではnew Type Convention(){..}がインタフェースのすべての方法を実現している.インタフェースTypeConventionは、インタフェースクラスを個別に作成したり、STRING、DECIMALなどの他のタイプの実装を追加したりすることができます.