Java 如何在具有不同构造函数的方法中创建给定对象类型的对象
我的问题是:我想在一个方法中创建对象,该方法接收我想要创建的对象以及我想要的数量。此外,每个函数在构造函数中接收不同的参数Java 如何在具有不同构造函数的方法中创建给定对象类型的对象,java,object,methods,builder,Java,Object,Methods,Builder,我的问题是:我想在一个方法中创建对象,该方法接收我想要创建的对象以及我想要的数量。此外,每个函数在构造函数中接收不同的参数 public void addTiles(int x, int y, int rows, int columns, Object tile){ for(int i=0; i<rows; i++){ for(int j=0; j<columns; j++){ //Attempts
public void addTiles(int x, int y, int rows, int columns, Object tile){
for(int i=0; i<rows; i++){
for(int j=0; j<columns; j++){
//Attempts
//add(new Class<tile.getClass()>(x+j*64,y+i*64));
//add(tile.getClass().newInstance().setLocation(x+j*64,y+i*64));
//add(((GameTile)tile.clone()).setLocation(x+j*64,y+i*64));
}
}
}
public void addTiles(int x、int y、int行、int列、对象tile){
对于(inti=0;i在抽象类Tile中,我写下:
public abstract GameTile getNewTile(int x, int y);
在我的瓷砖中:
@Override
public Tile getNewTile(int x, int y) {
return new Floor(x, y); //if the tile is floor
}
当我要创建地砖时:
addTiles(0, 0, 12, 20, new Floor(0, 0));
我的方法如下所示:
public void addTiles(int x, int y, int filas, int columnas, Tile tile){
for(int i=0; i<filas; i++){
for(int j=0; j<columnas; j++){
add(tile.getNewTile(x+j*tile.getWidth(),y+i*tile.getHeight()));
}
}
}
public void addTiles(int x、int y、int filas、int columns、Tile Tile){
对于(inti=0;i在抽象类Tile中,我写下:
public abstract GameTile getNewTile(int x, int y);
在我的瓷砖中:
@Override
public Tile getNewTile(int x, int y) {
return new Floor(x, y); //if the tile is floor
}
当我要创建地砖时:
addTiles(0, 0, 12, 20, new Floor(0, 0));
我的方法如下所示:
public void addTiles(int x, int y, int filas, int columnas, Tile tile){
for(int i=0; i<filas; i++){
for(int j=0; j<columnas; j++){
add(tile.getNewTile(x+j*tile.getWidth(),y+i*tile.getHeight()));
}
}
}
public void addTiles(int x、int y、int filas、int columns、Tile Tile){
for(int i=0;iBuilder模式将帮助您解决此问题,避免伸缩构造函数或多个构造函数。Joshua Bloch的Quaoting Effective Java:“传统上,程序员使用伸缩构造函数模式,在这种模式中,您只提供一个具有所需参数的构造函数,另一个提供一个可选参数,第三个提供两个可选参数,依此类推,最终生成一个具有所有可选参数的构造函数。“有关有效Java中的构建器模式的更多信息,请访问Stackoverflow:构建器模式将帮助您解决避免伸缩构造函数或多个构造函数的问题。Joshua Bloch的Quaoting Effective Java:“传统上,程序员使用伸缩构造函数模式,在这种模式中,您只提供一个具有所需参数的构造函数,另一个提供一个可选参数,第三个提供两个可选参数,依此类推,最终生成一个具有所有可选参数的构造函数。“有关有效Java中生成器模式的更多信息,请访问Stackoverflow: