Quando il compilatore Java trasforma una classe in codice byte, deve prima cercare in una classe padre. Questo perché l'implementazione sottostante delle classi punta al bytecode della classe genitore, che contiene i metodi e i campi rilevanti. Quindi aggiunge i puntatori al codice delle funzioni di classe figlio, alcune delle quali sono dettate dalla parola chiave "implements".
Poiché la classe genitore deve essere compilabile, è più facile se il compilatore sa bene cosa sia quella classe. Inoltre, è possibile estendere solo una classe, ma implementare un numero qualsiasi di interfacce. Il tempo di compilazione sale se la parola chiave extends può essere mescolata tra un numero qualsiasi di istruzioni di attrezzi. I compilatori vogliono fallire il più velocemente possibile per ridurre il tempo di sviluppo, quindi questa scelta è logica. Inoltre, ti aiuta a pensare chiaramente alla classe per lo stesso motivo.
fonte
2012-05-10 16:13:01
Perché è così che è Java. –
... perché è così che il lexer lo impone? – Makoto
Sue Oracle per questo =) – 4lex1v