Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    136

    [JAVA]ereditarietà,composizione e inizializzazione oggetti

    Salve a tutti,ho il seguente codice:

    codice:
    class A{
    	public A(){
    		System.out.println("A()");
    	}
    }
    
    class B{
    	public B(){
    		System.out.println("B()");
    	}
    }
    
    
    class C extends A{
    	public C(){
    		System.out.println("C()");
    	}
    	B b =new B();
    }
    
    
    class TestC{
    	public static void main(String[] args){
    		C c= new C();
    	}
    Perchè l'output è il seguente?
    A()
    B()
    C()
    non dovrebbe essere
    A()
    C()
    B()
    Mi spiego meglio quando creo l'oggetto c in main chiamo il suo costruttore il compilatore si rende conto che la classe è derivate da A e quindi chiama il costruttore A().Perchè poi chiama B() e solo successivamente conclude il costruttore C()?Non so se sono stato chiaro.Saluti.

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Dentro C dichiari un attributo di tipo B che viene inizializzato prima di chiamare il costruttore di C
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    136
    ok,grazie.

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