2012-12-03 3 views

risposta

10

OutputStream è una classe astratta da cui derivare. Le sottoclassi forniranno la propria implementazione se necessario. Altrimenti il ​​comportamento predefinito è di non fare nulla.

ad es. vedere il codice per ObjectOutputStream.flush()

+1

Resonable. Ma ancora una strana formulazione nella documentazione. –

2

OutputStream è una classe astratta. L'istanza derivante deve ignorare quella, se ha bisogno di un colore. Ad esempio lo BufferedOutputStream.
Gli stream senza buffer non devono essere sovrascritti flush().

+0

Non è necessario. Può scegliere di non fare –

+0

Come tutti gli astratti possono scegliere, implementare o meno. – AlexWien

+1

Ma come hai detto sopra, l'istanza derivante * deve *. Questo è il poco che non sono d'accordo! –

0

La prima parte del testo descrive il contratto generale di flush. Le classi che si estendono a OutputStream devono rispettare questo contratto.

OutputStream è una classe astratta, ma è fornita un'implementazione predefinita di flush. Come descritto, l'implementazione non fa nulla.