What I want to be able to do:
- click a guy to select him
- click an adjacent tile
- move selected guy to clicked tile

The way I've coded it, each instance of a guy class has a mouse even listener on him which listens for a click. When clicked, I find out the tile underneath him, and the surrounding tiles. So far, so good.

When clicked, the guy calls a method in the tile class, like tile.onClick, which tries to say: get this tile, and send it back to a method in the guy class, like moveGuy. Then moveGuy moves the guy to the tile it was told.

Problem:
From the guy class, I call a method in the tile class. To communicate between classes, the tile class method onClick must be static. But if it's static, the method can't refer to "this", because it's a method in the class only, not on each instance of tile. But I need to know which tile was clicked, and send that reference to the guy so he knows where to go.

How do you access a method from outside its class so that the method can refer to "this" instance? OR, how do I find out which tile was clicked without needing any code on each tile instance? OR... how else can this problem be solved?

Is this problem what getters & setters are for? I don't really understand how to use them yet.