View Full Version : [Java] FilterInputStream è astratta?
Salve a tutti. Ho un dubbio. :help: Sul mio buon libro di java vi è scritto che la classe FilterInputStream derivante da InputStream è astratta. Nella documentazione java ho visto che all' interno di FilterInputStream non vi sono metodi abstract e mi sembrano essere ridefiniti tutti i metodi di InputStream. Come può essere la classe FilterInputStream astratta?
Grazie in anticipo! ;)
mad_hhatter
28-05-2008, 11:10
Salve a tutti. Ho un dubbio. :help: Sul mio buon libro di java vi è scritto che la classe FilterInputStream derivante da InputStream è astratta. Nella documentazione java ho visto che all' interno di FilterInputStream non vi sono metodi abstract e mi sembrano essere ridefiniti tutti i metodi di InputStream. Come può essere la classe FilterInputStream astratta?
Grazie in anticipo! ;)
public abstract class BlaBla {
...
}
banryu79
28-05-2008, 11:26
In effetti FilterInputStream (file:///C:/Programmi/Java/jdk1.6.0_05/docs/api/index.html?overview-summary.html)non è una classe astratta, ma è definita come una classe concreta che estende la classe astratta InputStream (file:///C:/Programmi/Java/jdk1.6.0_05/docs/api/java/io/InputStream.html).
Però leggendo la dascrizione della classe FilterInputStream nei Javadoc:
public class FilterInputStream
extends InputStream
A FilterInputStream contains some other input stream, which it uses as its basic source of data, possibly transforming the data along the way or providing additional functionality. The class FilterInputStream itself simply overrides all methods of InputStream with versions that pass all requests to the contained input stream.
Subclasses of FilterInputStream may further override some of these methods and may also provide additional methods and fields.
Forse quello che il tuo libro intende è che spesso si usa FilterInputStream come classe base da cui estenderne una propria, personalizzata all'uso che se ne deve fare.
Come documentato nei Javadoc, notiamo che FilterInputStream contiene al suo interno proprio un InputStream, e i metodi "override" ereditati da InputStream non fanno altro che passare tutte le richieste all'InputStream contenuto internamente.
Comunque, tecnicamente, FilterInputStream non è una classe astratta (abstract class).
vBulletin® v3.6.4, Copyright ©2000-2026, Jelsoft Enterprises Ltd.