Hallo, ob du einer Methode Parameter übergeben kannst oder musst hängt von ihrer Implementierung ab. Schreibst du zum Beispiel eine Methode printSign() {} dann kannst du diese nicht mit Parametern aufrufen, da du die Methode so nicht implementiert hast. Wenn du z.B. einen String (also eine Zeichenkette, z.B. "Hallo") übergeben wollen würdest, müsste die Implementierung bzw. die Signatur der Methode (das ist der Name und die Datentypen möglicher Parameter) beispielsweise so aussehen:
printSign(String printThisWord) {}
Dann müsstest du die Methode so aufrufen:
printSign("Hallo");
Wenn du eine Methode sowohl parametrisiert als auch parameterlos aufrufen können möchtest, musst du sie überladen. Eine Ausnahme sind in der Regel Java-eigene Methoden, u.a. System.out.println, welche du so:
System.out.println();
oder so:
System.out.println("irgend ein Text");
aufrufen könntest. Zu Überladung schaue dir am besten selber ein Video an, das ist nicht so schwierig.
Zum zweiten Teil deiner Frage: Einen Rückgabewert gibt es immer dann wenn die Methode so geschrieben wurde. Als Bespiel: public static int giveBack(), public static char whatsTheChar() usw. Das Schlüsselwort "void" gibt vor, dass die Methode keinen Rückgabewert hat, wie z.B. deine main Methode: public static 'void' main(String[]args). Ich hoffe ich konnte helfen!
Punkte: 10