Java:返回相同类的对象(具有共同的父类)

标签 java inheritance

我正在做类似下面的事情,但它返回基类而不是子类的对象。

public static BaseVo getObject(String objID, Class<? extends BaseVo> cls) {
    BaseVo obj = constructObject(objID, cls);
    return obj;
}

当然,实际的 obj 是子类的,返回后我可以轻松地进行类型转换。但我想找到一种方法,使每个函数在调用 getObject 后都不必进行类型转换。

最佳答案

使方法变得通用。

public static <T extends BaseVo> T getObject(String objID, Class<T> cls) {
    T obj = constructObj(objID, cls);
    return obj;
}

这假设 constructObj 也可以修改为返回 T

关于Java:返回相同类的对象(具有共同的父类),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25428397/

相关文章:

java - 骡子 3 : How to get the values of "global-property" elements from Java source code

java - 如何关闭字符串连接优化

python - 异常派生类的 __repr__ 效果不佳

c# - 没有从派生到基础类的装箱转换

c++ - 子类指针如何严格等于父类指针?

java - 如何从打包在war文件中的jar文件中加载资源?

java - 使用 null 作为 super 参数

java - 简单 AsyncTask - 返回值 null

objective-c - 在 Objective-C 中,我是否可以重写父类用来遵守协议(protocol)的子类中的方法?

c++ - 是否有可能确定/断言,如果一个虚函数被覆盖,另一个虚函数也被覆盖?