我有一个抽象类和一个抽象的setter方法,它以String
作为参数,但我希望我的一个子类的setter采用另一种类型的参数。
我想在不使用泛型的情况下这样做。
有可能吗?
答案 0 :(得分:3)
您可以重载子类中的setter:
@Override
public void setProperty(String firstArg) {
...
}
public void setProperty(Integer value) {
...
}
答案 1 :(得分:0)
你会喜欢在没有泛型的情况下这样做,但我认为你需要它们:
public abstract class MyClass<T> {
public abstract void setX(T t);
}
public class MySubClass extends MyClass<String> {
public void setX(String s) {
}
}
public class MySpecialSubClass extends MyClass<Integer> {
public void setX(Integer s) {
}
}