Con i metodi predefiniti ora aggiunti a Java 8, esiste un modo per creare un costruttore predefinito?c'è un modo per aggiungere un costruttore predefinito a un'interfaccia
ho provato:
public interface KadContent<T>
{
public default KadContent()
{
}
...
ottenere l'errore <identifier> expected
da Netbeans
Perché necessario? Sto usando Gson per serializzare gli oggetti e ottenere l'errore "impossibile richiamare il costruttore no-args .." e so che posso risolvere questo problema usando Gson's InstanceCreator. Ma c'è un modo per creare un Costruttore predefinito?
Aggiornamento
ho trovato il problema con il mio codice. Stavo usando
gson.fromJson(new String(data), InterfaceName.class);
invece di
gson.fromJson(new String(data), ClassName.class);
Così, anche se la sottoclasse aveva costruttori predefiniti, il codice di deserializzazione era errato. Ma la questione del costruttore predefinito rimane valida.
Le interfacce non devono avere Constructor. Non fanno parte della creazione dell'oggetto. Dovrebbero mantenere il contratto tra due parti. –
Cosa significherebbe un costruttore predefinito? Cosa creerebbe un'istanza di? –
Beh Gson lo richiede, questo è tutto il bisogno che ho per questo. –