我在这里查看DataInputStream
的java文档:http://docs.oracle.com/javase/7/docs/api/java/io/DataInputStream.html
我正在查看其方法的用途,因此我会查看readBoolean()
,readByte()
,readChar()
等的说明。
这些描述都是:
请参阅DataInput的readBoolean方法的常规协定。
在扩展说明中。
public final boolean readBoolean()
throws IOException
See the general contract of the readBoolean method of DataInput.
Bytes for this operation are read from the contained input stream.
Specified by:
readBoolean in interface DataInput
Returns:
the boolean value read.
Throws:
EOFException - if this input stream has reached the end.
IOException - the stream has been closed and the contained input stream does not support reading after close, or another I/O error occurs.
See Also:
FilterInputStream.in
我在哪里可以看到""这些方法的一般合同和方法的一般合同是什么?
答案 0 :(得分:4)
这只是意味着DataInput.readBoolean
的文档包含更多细节。特别是,该文件说明:
读取一个输入字节,如果该字节非零则返回
true
,如果该字节为零则返回false
。此方法适用于读取接口writeBoolean
的{{1}}方法写入的字节。
所以你应该期望DataOutput
能够这样做。
答案 1 :(得分:1)
基类中方法的通用契约是必须是所有扩展类中方法的契约基础的契约。它通常是通用,因为它通常适用于基类的所有类型及其所有派生类。无论其他术语派生类可能会增加方法的合同,它必须始终保留一般合同。
显式一般合同是基类方法文档中给出的合同。