Ответ 1
Он должен иметь реализацию flush()
, потому что в своем суперклассе Writer
абстрактный метод и StringWriter
не является абстрактным классом. Однако, если вы посмотрите на исходный код StringWriter.flush()
, который вы можете найти в файле src.zip
в каталоге установки JDK, вы увидите:
/**
* Flush the stream.
*/
public void flush() {
}
Другими словами, он ничего не делает. (Конечно, существуют другие подклассы Writer
, где flush()
делает что-то полезное).
Человек, который реализовал этот метод, мог документировать, что он ничего не делает, но они этого не сделали.