Java 在实现接口时使用额外的方法

Java 在实现接口时使用额外的方法,java,class,interface,implements,dynamic-binding,Java,Class,Interface,Implements,Dynamic Binding,我已经使用泛型创建了一个涵盖所有类的接口,但是对于实现该接口的一个类,我需要额外的方法 我希望能够使用声明变量的动态绑定作为接口,然后使用其中一个类初始化它。这样我的方法可以更容易实现 然而,这使得它与一个棘手。简单地总结一下,我有一个界面: DataType<T> { public T getParameter(); public void setParameter(T value); } 数据类型 { 公共T getParameter(); 公共无效设置参数(T

我已经使用泛型创建了一个涵盖所有类的接口,但是对于实现该接口的一个类,我需要额外的方法

我希望能够使用声明变量的动态绑定作为接口,然后使用其中一个类初始化它。这样我的方法可以更容易实现

然而,这使得它与一个棘手。简单地总结一下,我有一个界面:

DataType<T>
{
    public T getParameter();
    public void setParameter(T value);
}
数据类型
{
公共T getParameter();
公共无效设置参数(T值);
}
实现这种类型的类有:

StringData implements DataType<String>
IntData implements DataType<Int>
BooleanData implemets DataType<Boolean>
DoubleData implements DataType<Double>
StringData实现数据类型
IntData实现数据类型
布尔数据实现数据类型
DoubleData实现数据类型
我希望有更多的方法

ArrayData implements DataType<ArrayList<DataType>>
ArrayData实现数据类型
ArrayData类包含其他数据类型的ArrayList。因此,我需要额外的方法来添加、删除和获取列表中的数据类型


然而,当使用上面的动态绑定技术时,这些方法不能被调用,因为不是所有的数据类型变量,所以我想知道是否有人知道解决这个问题的方法,或者我遗漏了什么。谢谢。

如您所述,您建议的方法对于接口来说不够通用,因此在顶级接口中添加/删除方法是没有意义的

考虑两个接口,一个具有基本数据操作,另一个具有列表操作

public interface ListDataType extends DataType<List<DataType>> {
  // list operations
}
公共接口ListDataType扩展了DataType{
//列表操作
}

Ahh好主意,我还能说:DataType array=new ArrayData()?我有一个类:类ArrayData实现ListDataTypeYes,因为ListDataType扩展了数据类型。啊,太好了,我忘了你可以扩展接口!非常感谢。