Классов java.io.Reader и java.io.InputStreamReader оба методов чтения с той же самой подписьюjava.io дилемма
public int read(char[] charbuf, int offset, int length) throws IOException
Теперь в соответствии с документацией Java в классе java.io.FileReader наследуется оба эти методы чтения() от оба вышеупомянутые классы.
Теперь, как FileReader расширяет InputStreamReader, который дополнительно расширяет судно, стоящее на рейде
(Reader <-- Inputstreamreader <-- FileReader)
и прочтении() имеет ту же сигнатуру в обоих классах, она не должна быть, что InputStreamReader отменяют чтения() от чтения и FileReader наследуется что чрезмерный метод? Или я что-то упустил?
Также два read() s, унаследованные FileReader, имеют немного отличающуюся функциональность (что-то около одного блока, ожидая ввода, в то время как другое не работает).
Документы не говорят, что «он наследует оба», он просто перечисляет методы, унаследованные от суперклассов, суперклассами. Он не входит и не удаляет унаследованные методы из классов «выше» в цепочке наследования. –
@dave: я только что видел ..: p – WickeD