Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [JAVA] ereditarietà e utilizzo di super

    Salve, se ho tre classi
    codice:
    public class A {
        public void prova() {
            System.out.println("CLASS A");
        }
    }
    
    public class B extends A {
        public void prova() {
            System.out.println("CLASS B");
        }
    }
    
    public class C extends B {
        public void prova() {
             ;
        }
    }
    se nel metodo prova della classe C invoco super(), probabilmente verrà stampato il messaggio "CLASS B". Ma se invece volessi invocare il metodo prova() della classe A ?

  2. #2
    super() sarebbe il costruttore della superclasse e di certo non puoi invocarlo in un metodo. Piuttosto dovresti invocare super.prova(). Non esiste alcun modo per invocare qualcosa come super.super.prova(), quindi non si può fare...
    Ivan Venuti
    Vuoi scaricare alcuni articoli sulla programmazione, pubblicati su riviste di informatica? Visita http://ivenuti.altervista.org/articoli.htm. Se vuoi imparare JavaScript leggi il mio libro: http://www.fag.it/scheda.aspx?ID=21754 !

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Si potrebbe fare solo se nella classe C si facesse una chiamata del tipo super.metodo() ad un metodo in B che a sua volta fa un super.metodo() per invocare il metodo di A voluto.
    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.