如何避免在Java中的不同类中使用相同的变量?

时间:2017-09-15 05:00:38

标签: java inheritance

我有一个超类和几个扩展超类的子类。 当我在子类中扩展抽象方法时,我使用的变量在其他子类中看起来完全相同。

通常,我只是将它作为一个全局变量,这样我就不必复制代码,但我不知道如何在我的情况下这样做,因为我在变量中使用参数。

例如,

public abstract boolean canMove(Piece[][] board, int fromX, int fromY, int toX, int toY); 
//This is the abstract method in the super class

@Override
public boolean canMove(Piece[][] board, int startX, int startY, int endX, int endY) {

    boolean onBound = (0 <= endX && endX < Board.NUM_OF_ROWS) && (0 <= endY && endY < Board.NUM_OF_COLS);


    .....

}

这是子类中实现的抽象方法。如果我把它放在外面,它将无法工作,因为它使用参数。有没有一种好方法可以防止在共享公共超类的其他子类中重复此行?

1 个答案:

答案 0 :(得分:1)

在超类中写这个

public boolean canMove(Piece[][] board, int startX, int startY, int 
endX, int endY) {
   boolean onBound = (0 <= endX && endX < Board.NUM_OF_ROWS) && (0 <= endY && endY < Board.NUM_OF_COLS);
 anotherMethod(onBound, any_other_parameters);
  }

//在子类中重写

 @Override
    anotherMethod(onBound , parma){
      //your code
  }