从另一个变量类型初始化变量

时间:2015-07-08 16:33:05

标签: java

我的类有变量和方法如下:

public class ProjectsPage extends State {
    private Container<Project> newcontainer;

    public ProjectsPage(Kick kick) {
        super(kick);
    }

    public void setItem() {
        newcontainer = ??? kick.proj
    }
}

对象kick的变量 proj 与newcontainer的类型相同:

public class Kick {
    public Container<Project> proj = new ContainerDB();
    //here I add content to proj
}

现在我想用与 kick.proj 相同的构造函数ContainerDB初始化newcontainer。换句话说,空 kick.proj 。这样的事情(因为kick.proj和newcontainer使用相同的接口):

newcontainer = new ContainerDB();

但问题是班级可以改变项目的类。喜欢

public class Kick {
        public Container<Project> proj = new ContainerDBSQL();
        //here I add content to proj
    }

我需要它(我的意思是使用相同类型初始化),因为稍后newcontainer应该只包含来自kick.proj的特定条目。不是所有的条目。 怎么做?

1 个答案:

答案 0 :(得分:0)

尝试使用以下方法实例化对象:

newContainer = kick.proj.getClass().newInstance();