The textbook sucks in my not-so-humble opinion, the teacher just glossed over the theory, didn't really explain anything other than "just do this and it will work" (until yesterday she had no idea as to what String args means in the main and why it should or shouldn't be there) and has given them only a few class methods to implement, feeding them the main and tester classes so far then skipped straight ahead to "now implement the main, this class and the tester" leaving (at least one of) his pupils bewildered as to what it actually all means.
Yes, she can parrot what an object is and a string or an integer and how to write it up but she has no idea how it fits together. Constructor methods same problem, parrot the theory but no idea what it actually means and how object oriented programming makes things look different than the methodical sequential programming people are geared towards thinking.
Since I am an already somewhat seasoned programmer I can explain what everything means and it feels very natural after years of experience but I'm not a great teacher. I also like to introduce what is and isn't good practice (and where her teacher goes horribly wrong is teaching good practice such as commenting, variable naming etc.) but it all gets overwhelming for her.
Since I am not really familiar with Java (more of a P*/C/ObjC/C++ guy) I am looking for either a good guide on Java or any objective oriented programming for beginners, something where people can understand how methods/functions work, how variables are passed and what scoping means (things the textbook doesn't explain until a few chapters later, it just assumes the pupil to copy the examples)"