Java 接口查找类似Appendeable或OutputStream的内容

Java 接口查找类似Appendeable或OutputStream的内容,java,interface,io,Java,Interface,Io,嗯,我正在尝试编写一个接受字节的类,并希望为此实现一个众所周知的接口 是一个抽象类,而不是一个接口(为什么?),这让我很紧张,因为我不知道扩展它会带来什么后果。如果没有后果,它应该是一个接口。否则,它会让我认为它定义了equals()和hashCode()或者可能是一种与可序列化的相关的行为,在尝试扩展它之前,我应该知道一些事情。无论如何,如果我扩展它,这意味着我已经用完了我的1超类,不能扩展对我的应用程序更重要的东西 是一个接口,它实现了我想要的功能,但用于字符,而不是字节 是我想要的,我可能

嗯,我正在尝试编写一个接受字节的类,并希望为此实现一个众所周知的接口

是一个抽象类,而不是一个接口(为什么?),这让我很紧张,因为我不知道扩展它会带来什么后果。如果没有后果,它应该是一个接口。否则,它会让我认为它定义了
equals()
hashCode()
或者可能是一种与
可序列化的
相关的行为,在尝试扩展它之前,我应该知道一些事情。无论如何,如果我扩展它,这意味着我已经用完了我的1超类,不能扩展对我的应用程序更重要的东西

是一个接口,它实现了我想要的功能,但用于字符,而不是字节

是我想要的,我可能会使用它,但它只接受ByteBuffers作为输入,而不是byte[]数组


还有其他建议吗?(注意,“input-output”是I/O问题的最佳标签吗?

java.io.DataOutput
可能适合您,尽管它的方法比您要求的多得多

为什么要使用知名的界面

为自己的目的创建自己的接口没有坏处


此外,我不会将
appendeable
writeablebytechannel
称为“众所周知”。

扩展java.io.OutputStream应该没有问题。它被设计为用作基类。如果您担心,请查看OutputStream的源代码


我唯一的问题是OutputStream API是否符合您的应用程序需求,或者不同的API是否更合适。如果您设计的界面更符合您的应用程序要求,没有人会抱怨。

为什么?因为使用标准接口可以减少应用程序组件之间的耦合。标准接口如何减少多个组件之间的耦合?因为标准接口可能已经存在于两个组件中,因此,这两者之间不需要编译时依赖关系。“标准”与“非标准”接口的概念不在Java中。我不知道你这么说是什么意思。java.io.DataOutput是标准的,因为它是标准API的一部分。恐怕我不明白你为什么对扩展
OutputStream
感到紧张。你能详细说明一下吗?(我觉得自己像个治疗师!)我同意。OutputStream中没有太多的内容。所以你应该没事;]