Wrapper classes in Java (Integer, Double, Character, Boolean, etc.) encapsulate primitive data types within objects. This allows primitives to be used in contexts requiring objects, such as collections. Super classes and sub classes refer to inheritance relationships, not primitive wrapping.