I have an bunch of classes that will have alot of the same methods, some pretty much identical. So, I have an interface that for example has a save method. Now, as a parameter I want to be able to pass different objects.

The way I came up with is:
save(Object obj)

then when I implement it, I typecast obj to whatever object it'll be using in that class. Does this seem logical or am I going about it the wrong way?

Any guidance is appreciated.