È corretto pensare a un'interfaccia Java come a un "contratto" che una classe deve implementare?

1

Voglio solo verificare che la mia attuale comprensione delle interfacce Java sia corretta.

Se un'interfaccia dice che deve includere public void increase(int amount) , vuol dire che la classe che implementa quell'interfaccia deve avere un metodo di abbinamento?

    
posta Kye 12.01.2017 - 22:26
fonte

1 risposta

2

Sì, la tua comprensione è corretta in generale.

Tuttavia, è anche possibile che una classe astratta dichiari che la sottoclasse concreta dovrebbe implementare un'interfaccia senza metodi di implementazione.

La firma del metodo che implementa un metodo nell'interfaccia deve avere parametri corrispondenti ma il valore risultante può essere un sottotipo.

interface X {
    Object x()
}

class Y implements X {
    String x()
}
    
risposta data 12.01.2017 - 23:00
fonte

Leggi altre domande sui tag