Visualizzazione dei risultati da 1 a 6 su 6

Hybrid View

  1. #1
    Innanzitutto, grazie per la risposta. A livello pratico, come faccio a capire cosa scriverà? Non riesco a capire da dove prende i metodi (se nella classe madre o in quelle figlie) e in base a cosa!

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Superandri91 Visualizza il messaggio
    Innanzitutto, grazie per la risposta. A livello pratico, come faccio a capire cosa scriverà? Non riesco a capire da dove prende i metodi (se nella classe madre o in quelle figlie) e in base a cosa!
    Ok, prendiamo es.

    f1.macedonia(f2);


    Compilazione:

    1) Per il compilatore f1 è di tipo Frutto. Non ha importanza (il compilatore non osserva questo) che tu hai assegnato a f1 un oggetto Mela. Il compilatore "guarderà" solo le firme dei metodi in Frutto.

    2) L'argomento è f2, di tipo Frutto. Idem anche qui il compilatore non osserva il fatto che a f2 hai assegnato un oggetto Arancia.

    3) Esiste in Frutto un unico metodo "macedonia" che è in grado di ricevere un Frutto? Sì, c'è. Questo basta affinché "compili".

    Runtime:

    1) Viene eseguito il metodo "macedonia" per l'oggetto realmente istanziato. Visto che f1 referenzia un Mela e visto però che Mela NON ridefinisce macedonia(Frutto), il metodo realmente eseguito è comunque quello di Frutto.

    2) La concatenazione con this fa eseguire il toString() dell'oggetto realmente istanziato. Che è Mela, quindi la prima stringa è "Mela".

    3) La concatenazione con f fa eseguire il toString dell'oggetto realmente istanziato assegnato a f. Che è Arancia, quindi la seconda stringa è "Arancia".
    Ultima modifica di andbin; 21-09-2014 a 16:34
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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 © 2026 vBulletin Solutions, Inc. All rights reserved.