是否有理由用抽象类扩展类以及实现接口?
在大多数情况下,这似乎是hack,而不是可靠的设计选择。
例如 我有一个类似的设置类:
public abstract class exampleAbstractSettings {
private String ID = "ID-";
private String channel;
private HashMap<String, String> channelToKeyMap;
private String address;
}
实现如下所示的接口:
public interface exampleSettingsInterface {
String getType();
}
在类似的课程中:
public class exampleSettings extends exampleAbstractSettings implements exampleSettingsInterface {
private boolean enabled = false;
private int dataRate = 102000;
private String type = SERIAL;
private String address = "ttyAMA0";
}
基本上,这只是添加新字段而不弄乱JSON objectMapper的一种技巧。您可以为此使用@JsonIgnore批注。
然后按如下方式使用该接口:
(exampleSettingsInterface)objectOfExampleAbstractSettings.getType()