Господа, не могли бы вы объяснить дураку, как работают FilterInputStreeam и FilterOutputStream, и для чего они нужны? Желательно с примерами кода для каждого класса. Прочитал все, что было про них в Thinking Java + javadoc + google + Шилдт, но так толком и не понял.
Зачем в них protected конструкторы?
helllll
25 уровень
protected-конструкторы, на мой взгляд, полезны тем, что не позволяют создать объект, просто написав:
Тебе придется сначала унаследоваться от этого класса, реализовать всё, что ты пожелаешь, и только потом, в единственном законченном классе-потомке расширить видимость конструктора до public.
Например, наследуешься от FilterInputStream, переопределяешь методы read, реализуя щифр Цезаря. Потом наследуешься от цезарева класса, и переопределяешь ещё методы: available, read, skip… Например, реализуя шифрование base64. И только у этого класса делаешь public-конструктор. В любом месте хватит всего-то проверки на то, является ли класс, с которого ты читаешь, объектом типа FilterInputStream или нет.