java如何解决对接口中静态方法的需求?
我有两门课:矩形和圆形
它们中的每一个都使用“import”和“export”方法实现接口“JSONSerializable”
为了区分这两个类,接口有第三个方法“getType”,根据类的不同,它只返回“矩形”或“圆形”
这很好用,我得到了一个JSON字符串,看起来像这样:
{
type:rectangle,
points:[{1,2},{2,2},{2,1},{1,1}]
}
当我再次读取字符串时,我需要根据类型决定调用哪个导入方法。我现在做的是:
public enum JSONType{
Rectangle(Rectangle.getStaticType()),
Circle(Circle.getStaticType());
private final String type;
JSONType(String type){
this.type = type;
}
public String getType(){
return type;
}
}
这样,我就可以读取JSON字符串,并与枚举中的所有字符串类型进行比较。但是,我需要为每个子对象声明两个方法(getType()和static getStaticType()),它们都返回相同的字符串:
public static String getStaticType(){
return "rectangle";
}
public String getType(){
return Rectangle.getStaticType();
}
有什么办法吗?我想答案是否定的,但我以前从未遇到过这样的情况。我很乐意接受任何设计建议:)
共 (0) 个答案