L'errore che ricevi in compilaizone dovrebbe essere qualcosa del genere :
codice:error: non-static method registraVendita() cannot be referenced from a static context
Questo non significa che il metodo deve essere creato. Ti informa sul fatto che dal metodo main (che è un metodo statico, da qui quel "static context") non puoi richiamare il metodo registraVendita(), che è un metodo non statico.
Due possibili soluzioni sono :
- dichiari registraVendita() come static. Questa è una falsa soluzione, nel senso che non riceverai più quell'errore e il programma funzionerebbe in altri casi, ma nel tuo caso in esame riceverai una grossa serie di errori: all'interno del metodo vengono infatti richiamate variabili relative a una specifica istanza di DemoVendite (quelle che richiami con this). Queste non sono appunto variabili statiche o "di classe", quindi un metodo statico non saprebbe come procedere.
- richiami registraVendita() su un oggetto DemoVendite che istanzi per l'occasione, ad esempio :
E' però importante capire la distinzione tra variabili/metodi di istanza e variabili/metodi statici, dovresti studiare bene l'argomentocodice:new DemoVendite().registraVendita();![]()