在java中返回子类的父类中的方法

在java中返回子类的父类中的方法,java,inheritance,Java,Inheritance,我有一个父类Product,还有一些子类,比如Camera,TV,等等。。。 现在我想在Product中创建一个方法,根据从db中获取的对象(我有很多子类),从db中获取所有子类的公共属性,并返回子类的实例。 有可能这样做吗?如果是,你能给我举个小例子吗 我的想法是从子类中的类似方法调用此方法,然后从db中获取所有非公共属性。首先,您似乎希望将db访问代码放入类中,我不推荐这样做 至于你真正的问题:试着使用一个ORM框架,比如EclipseLink或Hibernate。它们使用鉴别器列来确定实体

我有一个父类
Product
,还有一些子类,比如
Camera
TV
,等等。。。 现在我想在
Product
中创建一个方法,根据从db中获取的对象(我有很多子类),从db中获取所有子类的公共属性,并返回子类的实例。 有可能这样做吗?如果是,你能给我举个小例子吗


我的想法是从子类中的类似方法调用此方法,然后从db中获取所有非公共属性。

首先,您似乎希望将db访问代码放入类中,我不推荐这样做


至于你真正的问题:试着使用一个ORM框架,比如EclipseLink或Hibernate。它们使用鉴别器列来确定实体的实际类,并为您创建和填充实例。作为一种选择(如果您可以决定数据库),您也可以看看。

我认为您应该看看decorator模式

在儿童班

public class Camera extends Product{
    public Camera(int productId){
        super(productId);
    }
}
用法

Product p = Product.getProduct(4025);
该方法将从数据库中加载相关字段,标识产品类型,基于产品类型创建子类对象,并调用其构造函数

子类的构造函数调用超类构造函数。
超级类构造函数加载所有公共属性。

Cant
Facade
design模式是否可以缓解您的问题?
Product p = Product.getProduct(4025);