Visualizza messaggio singolo
Vecchio 08-05-2007, 22.41.12   #6
Downloader
Gold Member
Top Poster
 
Registrato: 04-09-2002
Loc.: Roma
Messaggi: 4.022
Downloader promette bene
Mettiamo il caso che io voglia scrivere una mia interface.
Questa ad esempio:
Codice:
public interface DownloadersInterface
{
 public void metodoUno();
 public void metodoDue();
}
Normalmente una interfaccia tramite implements viene implementata in una classe all'interno della quale devono essere ridefiniti tutti i metodi, quindi:

Codice:
public class ClasseProva implements DownloadersInterface
{
 public static void main(String[] args)
 {

 }

 public void metodoUno()
 {
  System.out.println("Metodo 1");
 } 

 public void metodoDue(){}

}

Ok, adesso però l'interfaccia viene usata in modo totalmente diverso:

Codice:
public class AltraClasse
{
 public metodoDB()
 {
  .
  .
  .
 
  ResultSet rs = st.executeQuery("SELECT * FROM tabella");
  int i = 0;
  String s[] = new String[10];
      
    while(rs.next())
    {
     s[i] = rs.getString("Nome");
     i++;
    } 
  }
}
Ora:
il metodo executeQuery() torna un valore ResultSet ovvero una interfaccia e già qua qualcosa non mi torna.
Cioè se fosse tornato un int, String...sarebbe andato bene, ma un valore ResultSet proprio non riesco ad immaginarmelo.
Ma il succo della questione è: come diavolo si possono usare metodi di una interfaccia (in questo caso next() e getString()) dal momento che questa non è istanziabile e dal momento che non sono stati ridefiniti i metodi visto che non l'abbiamo implementata??


tnx!
Downloader non è collegato   Rispondi citando