A subclass is simply a class formed using inheritance.
A subtype is is class that can be substituted (using polymorphism) with no observable effect.
Not all subclasses are subtypes.
In some languages (C++) subtypes can ONLY be formed using subclasses. In other languages (Smalltalk, Objective-C) they are totally independent.
Java is in between - subtypes can be formed out of subclasses, or using interfaces.