Il concetto che devi capire bene è: variabili/metodi "di istanza" (non static) sono associati e distinti per ciascun oggetto creato di una certa classe. Mentre variabili/metodi "di classe" (static) sono per così dire "unici" (=globali), associati alla classe.
Nel tuo codice all'inizio hai 6 variabili di istanza e registraVendita() è anche di istanza. Il main() è static e in questo contesto le 6 variabili e registraVendita li potresti usare SOLO avendo a disposizione il reference ad un oggetto DemoVendite.
Ora ... questa classe DemoVendite cosa rappresenta per te? Serve solo per la applicazione o per modellare ciascun prodotto? Presumo sia il primo scenario.