Java 如何使抽象类或接口处理不同的数据类型

Java 如何使抽象类或接口处理不同的数据类型,java,rgb,Java,Rgb,我正在用Java编写一个程序,它有一个类对象(设备),其中包含另一个对象(控件)和另一个对象(controlType) 我遇到的问题是每个“控制类型”都是不同的 一个可能是可以获取和设置布尔值的开/关开关,另一个可能是可以获取和设置3字节RGB数据的颜色选择器 我曾想过使用一个抽象的“controlTypeAbstract”类,但我不知道如何使用不同的数据类型 有更好的办法吗 public abstract class controlTypeAstract { public abstr

我正在用Java编写一个程序,它有一个类对象(设备),其中包含另一个对象(控件)和另一个对象(controlType)

我遇到的问题是每个“控制类型”都是不同的

一个可能是可以获取和设置布尔值的开/关开关,另一个可能是可以获取和设置3字节RGB数据的颜色选择器

我曾想过使用一个抽象的“controlTypeAbstract”类,但我不知道如何使用不同的数据类型

有更好的办法吗

public abstract class controlTypeAstract {

    public abstract UnknownVariableType getData(){

    }

    public abstract void setData(UnknownVariableType data){

    }
}


public class onOffSwitch extends controlTypeAstract {
    Boolean isOn = false;

    public boolean getData(){
        return isOn;        
    }

    public void setData(Boolean data){
        isOn = data;
    }
}

public class colorControl extends controlTypeAstract {
    int redValue = 0;
    int greenValue = 0;
    int blueValue = 0;

    public int[] getData(){
        int data[];
        return (new int[] {redValue, greenValue, blueValue});       
    }

    public void setData(int[] data){
        redValue = data[0];
        greenValue = data[1];
        blueValue = data[2];
    }
}

为了给出一个更好的答案,至少看看您已经实现/尝试了什么是有用的

据我所知,我确实有一个控件类型抽象类,它处理的公共功能与控件类型之间的功能一样多。然后每个不同的controlType扩展抽象父类。如果您想在父类中声明抽象方法,那么让它们将对象作为参数,然后在每个单独的controlType中按照上下文中的预期处理该对象


很抱歉,如果我完全没有理解您问题的要点…

请添加一些代码示例。泛型可能是我现在正在阅读的关于泛型的答案。@user052211,还请添加希望如何使用类的示例。API通常由使用示例驱动。类的用户应该如何处理数据可能是不同类型的事实?调用者的代码会是什么样子?这可能是“在理想世界”中可以想象的例子,而不是你知道如何实现的东西。对不起,我很难解释,但你的回答很接近,但据我所知,我无法将一个基本体作为对象传递。我添加了代码,试图更好地表达我的观点。我的问题是我所谓的未知变量类型。在抽象类的时候,我不知道将传递什么类型的数据。我可能需要一个抽象类以外的东西,但我不知道那可能是什么。