Objective-Cのメッセージ式とJava

Objective-Cにおいてメッセージ式は、

セレクタ:(型)仮引数

と書きます。これを使う際、仮引数はIDEから見えません。
Javaだと、

メソッド名(型 仮引数)

で、IDEから仮引数が見えます。
このとき、引数が一つであればたいした違いはないのですが、

セレクタ:(型)仮引数 セレクタ:(型)仮引数 セレクタ:(型)仮引数

メソッド名(型 仮引数,型 仮引数,型 仮引数)

だと、メッセージ式の場合、メソッドの定義時にセレクタと仮引数がかぶる傾向があります。どうせ使う際には片方しか見えないんだからいいよね、というのはあるのですが、何となく冗長です。ついでに、引数がオブジェクト型の場合、

string:(NSString*)aString object:(NSObject*) aObject

と型の名前ともかぶる傾向があります。ま、これくらい許せよって感じですが。
そういや、C#を初めて使ったとき、

method(String String)

という書き方に面食らいましたっけ。仮引数に型の名前そのまま使えるのかと。
しかし、Java,Objective-C,C++,C#と一時期に同時に使うといろいろ混乱しますな。