我有一个名为的类Property,它只有get-methods。创建新实例时将设置所有字段Property。Property实现了一个名为IProperty.
由于我使用的库中的一些错误,我必须在Property创建后设置 anew 实例的名称。因此,建议创建一个WrapperProperty类,该类将提供一个公共setName方法,该方法本身调用一个因此创建setName()的方法Property,该方法将是受保护/包视图。
问题是我不能让这个方法在 中受保护Property,因为 Eclipse 告诉我将它添加到接口IProperty并使其公开。
有一些解决方法吗?
WrapperI 属性:
public class WrapperIProperty {
    private IProperty prop;
    WrapperIProperty(Property prop) {
        this.prop = prop;
    }
    public void setName(String name) {
        prop.setName(name);
    }
}
财产:
public class Property implements IProperty {
    String name;
    protected void setName(String name) {
        this.name = name;
    }
    public String getName() {
        return name;
    }
    public int getFoobar() {
        return 123;
    }
    public int getWhatever() {
        return 987;
    }
}
财产:
public interface IProperty {
    public int getWhatever();
    public int getFoobar();
    public String getName();
}
这就是它目前的样子。显然它不起作用,因为我不能让该方法在Property类中受到保护。因此,我最好以某种方式摆脱 interfacee 条目。但是怎么做?