Yes, you're right for this question as far as you go, but there's a little bit more.
Methods of a subclass can see public methods, constructors and fields, just like all other classes. They can also see protected methods, constructors and fields. The "protected" visibility is a special status that allows access to subclasses, but not to the "general public."
Nobody can see private members except for members of same class.
Edit: Finally, there's the default visibility, also called "package private". If you don't specify public, private or protected, the default is to allow all members of the same package to use that definition, but no members of other packages (even if they are subclasses!) The majority opinion is to stick to public or private visibility unless you have a Very Good Reason to use one of the others.