Ja—da jeder nur im Körper seiner Methode sichtbar ist, kann er als ein beliebiger Typ deklariert sein.
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.