Primo errore: nel costruttore confronti due stringhe con l'operatore ==, il che non va bene. String non è un tipo di dato primitivo in Java, pertanto le stringhe vengono trattate come veri e propri oggetti. Le stringhe vanno confrontate con il metodo equals (con == si confrontano i references degli oggetti che saranno diversi sicuramente):
Secondo errore: per ogni confronto istanzi un oggetto... ma non viene assegnato a nessuna variabile... pertanto sarà "perso" immediatamente dopo.codice:if("*".equals(s)){ ... }
Terzo errore: i metodi get e set che hai scritto vengono annotati con @Override... ma cosa overridano se la classe così come l'hai scritta non estende nulla? (forse manca qualche pezzo di codice?)
Quarto errore: la variabile mul sulla quale richiami il toString() è un oggetto di tipo OperatoreNumerico. A questo punto però, sempre in base a come hai postato il codice, io mi aspetto che venga stampato null, dato che "this" non è una istanza di PLUS (è un OperatoreNumerico) quindi dovrebbe ritornare il valore di s (che però è null).
![]()