【发布时间】:2021-12-28 16:53:44
【问题描述】:
我正在创建一个可重用的属性类,我想基于一个抽象类,我将在 Java 中使用不同的变量类型进行子类化。
public abstract class Property{
protected String name;
protected <type> type;
/* 这就是问题所在,抽象类不知道对象类型是什么——所以如果我派生一个类型为 String 的 StringProperty 类,我该如何实现我的 setter 和 getter?在父类中?*/
public void setName(String n){
name= n;
}
public String getName(){
return name;
}
}//结束类
public class StringProperty extends Property{
super.setName("email");
super.setType("String");
}//end class
我想将抽象父类泛化,以便可以将其派生为 StringProperty、IntProperty、BoolProperty 等,并在编译时设置派生类型,但我无法弄清楚。
我希望每个属性实例都具有三个属性:名称、类型和值。
由子类继承? getter方法需要事先知道类型
【问题讨论】: