In most UML class diagrams of byte streams that I managed to find, it is drawn that BufferedOutputStream and DataOutputStream are descendants of FilterOutputStream , but at the same time both of them are also used for FileOutputStream and other classes that directly implement the OutputStream interface.
The question is: do I understand correctly that each class directly implementing the OutputStream has its own BufferedOutputStream and DataOutputStream or at least can be wrapped in them ... Or does it somehow work differently?
Please help me figure it out.