Visualizzazione dei risultati da 1 a 6 su 6

Discussione: metodo di interfaccia

  1. #1

    metodo di interfaccia

    ciao!
    c'è un modo per richiamare un solo metodo di una interfaccia in una classe che ho scritto io, senza implementarla? insomma...trattarla un pò come se fosse una classe?

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2012
    Messaggi
    707
    Non è molto chiaro quello che hai scritto, se intendi quello che segue è ovviamente consentito.

    codice:
    interface MiaInterfaccia {
        public void test();
    }
    
    class Demo {
        public Demo() {
        }
    
        public Demo(MiaInterfaccia miaInterfaccia) {
            miaInterfaccia.test();
        }
    
        public static void main(String args[]) {
            new Demo();
        }
    }
    Certamente per poter utilizzare il secondo costruttore dovrai passare come parametro un oggetto di una classe che implementa la interfaccia MiaInterfaccia.

  3. #3
    mi spiego meglio.
    devo utilizzare il metodo setMatchColumn(String columnName) dell'interfaccia Joinable del package javax.sql.rowset
    volevo sapere se c'è un modo per utilizzare soltanto questo metodo, al posto di implementare tutta l'interfaccia e quindi importare tutti i 10 metodi nella mia classe

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2012
    Messaggi
    707
    Originariamente inviato da mariogameover
    volevo sapere se c'è un modo per utilizzare soltanto questo metodo, al posto di implementare tutta l'interfaccia
    Questo non è possibile, se non implementi tutti i metodi (poi sta a te sapere se per quelli che non ti servono basta una implementazione fittizia) avrai un errore già di compilazione. Ciao.

  5. #5
    immaginavo...
    ok ti ringrazio
    ciao!

  6. #6
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da mariogameover
    mi spiego meglio.
    devo utilizzare il metodo setMatchColumn(String columnName) dell'interfaccia Joinable del package javax.sql.rowset
    volevo sapere se c'è un modo per utilizzare soltanto questo metodo, al posto di implementare tutta l'interfaccia e quindi importare tutti i 10 metodi nella mia classe
    Se l'interfaccia dichiara N metodi tu dovrai implementarli tutti a meno che non dichiari la classe astratta.

    Puoi però usare un trucchetto, usanto anche all'interno della libreria java: dichiari una classe che implementa la tua interfaccia dando un corpo vuoto a tutti i metodi. Estendi poi questa classe ridefinendo i metodi che ti interessano, lasciando pulito il codice da metodi inutili.

    Puoi trovare un esempio di ciò in varie classi di awt: ad esempio, KeyListener è un interfaccia con tre metodi implementata da KeyAdapter. Come dice la documentazione di questa classe:

    The methods in this class are empty. This class exists as convenience for creating listener objects. Extend this class to create a KeyEvent listener and override the methods for the events of interest. (If you implement the KeyListener interface, you have to define all of the methods in it. This abstract class defines null methods for them all, so you can only have to define methods for events you care about.)


    http://docs.oracle.com/javase/7/docs...eyAdapter.html
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.