To com uma duvida, se eu não posso instanciar uma classe como então que eu posso fazer, por exemplo:
InputStream input = myConnection.getInputStream();
??
To com uma duvida, se eu não posso instanciar uma classe como então que eu posso fazer, por exemplo:
InputStream input = myConnection.getInputStream();
??
Esse seu atributo myConnection é de que tipo?
Se a classe A é abstrata, você nao pode fazer por exemplo:
private A instancia = new A();
Isso chama-se polimorfismo, a classe que é instanciada não é a abstrata e sim uma subclasse dela:
ex.:
[code]public abstract classe Ave{
public abstract void voar();
}
public class Aguia extends Ave{
public void voar(){
System.out.println(“Aguia voando…”);
}
}
public class Gaivota extends Ave{
public void voar(){
System.out.println(“Gaivota voando…”);
}
}
Ave ave = new Aguia();
ave.voar(); //imprime Aguia voando
ave = new Gaivota();
ave.voar(); //imprime Gaivota voando[/code]
O mesmo acontece com o InputStream, no caso seria algo assim:
[code]InputStream in = new FileInputStream(“C:\teste.txt”);
int b;
while((b = in.read())>-1){
System.out.println(b);
}[/code]
ta, entendi o polimorfismo, mas assim, o getInputStream retorna um ImputStream, então não ficaria algo como InputStream input = InputStream … ;
Sendo que o ImputStream é abstrato, ou ele converte pra alguma outra classe ? na API eu não achei qual o tipo que ele retorna que não seja o ImpuStream.
ele retorna uma outra classe que herda de ImputStream, toda classe que herdar de ImputStream também vai ser um ImputStream…