Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    220

    classe con due main

    Ciao gente ho questo esercizio:

    codice:
    public class TreB {
    	protected int z = 7;
    
    	public TreB(int z) {
    		this.z = z--;
    	}
    
    	public TreB() {
    		this.z++;
    	}
    }
    
    public class Tre extends TreB {
    	public Tre(int z) {
    		this.z += z;
    		System.out.println(this.z);
    	}
    
    	public static void main(String a[]) {
    		new Tre(1);
    	}
    
    	public static void main(String a) {
    		new Tre(2);
    	}
    }
    L'output è 9!! Ma non capisco su quale base sceglie il primo main!! Uso Eclipse, non faccio partire il tutto da console!

    Mi helpate?

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Il metodo main ha una firma ben precisa, ed è questa:
    codice:
    public static void main(String[] args);
    Se tu utilizzi il nome main per un qualunque altro tuo metodo, al compilatore e alla JVM non gliene può fregare di meno (detto in termini spiccioli). Questo significa che è lecito usare il nome main per un metodo di tua utilità, ma non ti puoi aspettare che venga eseguito senza che nessuno glielo dica esplicitamente. Il metodo che verrà eseguito quando viene lanciata l'applicazione è sempre e solo quello con la firma riportata sopra.

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    220
    Wow grazie!!!
    Ciauuu!!

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Se hai anche capito perchè il risultato è 9, allora sei già a buon punto.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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.