You didn't really ask a question, but I'll try to infer it. Is it that your code is not working as you expected?
One issue I see is that your RandomWalk constructor which takes in a seed never does anything with the seed. Try this:
Random generator;
public RandomWalk(int gridSize){
generator = new Random();
gridSize = generator.nextInt();
this.gridSize = gridSize;
}
public RandomWalk(int gridSize, long seed){
generator = new Random(seed);
gridSize = generator.nextInt();
this.gridSize = gridSize;
}
Note that the seed is passed to the Random constructor. Additionally, your call to generator.nextInt() is made in the 2nd constructor without assigning its return value to gridSize. I think that may not have been what you intended to do.
You may want to take a look at the Java SDK documentation for Random. It has 2 constructors, one which accept a seed parameter and another which essentially makes one up for you.