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

java inheritance

46 观看

1回复

195 作者的声誉

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

通常,我只是将其设置为全局变量,这样就不必重复代码,但是由于我使用的是变量中的参数,因此我不确定如何执行此操作。

例如,

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);


    .....

}

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

作者: user6792790 的来源 发布者: 2017 年 9 月 15 日

回应 1


1

611 作者的声誉

决定

写在超一流

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
  }
作者: Ganesh Karewad 发布者: 2017 年 9 月 15 日
32x32