Eine gute Antwort könnte sein:

Ja—da jeder nur im Körper seiner Methode sichtbar ist, kann er als ein beliebiger Typ deklariert sein.

Verspiegeltes Glas

Es ist manchmal nützlich sich Methoden visuell als eine Box aus verspiegelten Glas vorzustellen. Eine Methode kann lokale Variablen und Parameter, die in der Box sind, sehen. Eine Methode kann durch das Glas, das sie umgibt, hindurchsehen. Aber kein Außenstehender kann in die Box hineinsehen.

Die Abbildung zeigt die verspiegelte Box für das Beispielprogramm. Die roten Linien zeigen das verspiegelte Glas, das jede Methode umgibt. Die Methode kann aus der Box herausschauen Zum Beispiel kann jede Methode die Instanzvariable balance (kontoStand) sehen, aber andere Methoden können von außerhalb nicht in die verspiegelte Box hineinsehen.

In processDeposit() (verarbeiteEinzahlung) kann die Anweisung die Variable balance (kontoStand), die als Membervariable deklariert ist, "sehen". Sie kann ebenfalls den Parameter amount (betrag) innerhalb der Box sehen.

Die Methode showCharge() ist fehlerhaft, da sie eine Anweisung enthält, die versucht in die Box, die processCheck() (verarbeiteAuszahlung) umgibt, hineinzusehen.

Die Namen der formalen Parameter (wie amount) und lokalen Variablen (wie charge) sind innerhalb der Glasbox sichtbar. Aber, die Anzahl und der Typ, der für jede Methode erforderlichen Parameter, ist den Außenstehenden bekannt.



FRAGE 7:

Ist der Name einer Methode innerhalb oder außerhalb der Glasbox?