我有一个超类TetrisPiece,每个变体都有子类,即
class PieceI extends TetrisPiece{
}
class PieceJ extends TetrisPiece{
}
etc...
在另一个类中,我有一个基于随机数的switch语句,它创建一个随机片段
switch(rand){
//I
case 1: {
PieceI pieceI = new PieceI();
break;
}
//T
case 2: {
PieceT pieceT = new PieceT();
break;
}
etc...
default:
break;
}
我的目的是提取从switch语句范围生成的片段,以便稍后在课堂上使用它。
由于范围问题,切换方法显然不起作用,我无法在switch语句之外创建超类数组,因为我无法通过随机化来转换索引。
感谢任何帮助。
答案 0 :(得分:1)
创建超类TetrisPiece的一个实例,然后在switch语句中为它分配PieceT,PieceI等。
TetrisPiece piece;
switch(rand){
//I
case 1: {
piece = new PieceI();
break;
}
//T
case 2: {
piece = new PieceT();
break;
}
etc...
default:
break;
}