if your objective is to cement your java knowledge (assuming you allready know a little) TIJ is excellent.
if you want a hands on learning way (with OO included) i'd recommend you give a try at agile techniques:
test first, xp, tdd, refactoring, etc. Who am i to say such a thing, but as a no pro member i'm liking (and at the same time learning too) doing it.