2009-08-28 18 views

答えて

5

いいえ、同じものとはちょうど異なる名前です。

+0

すべてが同じものを表します – Ajay

0

私は..あなたは、リフレクションを使用して機能を呼び出すことができるJavaでは

あなたが本当に聞きたいんかわからないんだけど。あなたはこのような何かを実行する必要があります。

MyClass mc = new MyClass(); 

mc.getClass().getDeclaredMethods() [0].invoke(); 

あなたはこのarticle about reflectionを読むことができます。

+0

だから?リフレクションを使用して関数を「呼び出す」こともできます。それは同じことです。 –

1

呼び出しと呼び出しの違いは定義されていません。私に(!):

呼び出しは、私は明示的に呼び出すが、私はいくつかの並べ替えを持っていることを意味し

fun(Arg1, Arg2). 

私のコード

Javaの例

object.method(arg1, arg2); 

Erlangの例では関数を呼び出すことを意味し関数(名前、ポインタなど)を参照して、その関数を私のために呼び出すように機構に依頼してください(私が持っている参照を渡す)

Jave例

method m = Class.forName("myClass").getMethod("method", new Class[] {Integer.TYPE, Integer.TYPE}); 
m.invoke(new Object[] {10, 20}); 

アーラン例

erlang:apply(mymodule, fun, [Arg1, Arg2]). 
0

Javaでない機能、いずれかのクラス(静的メソッド)またはクラスのインスタンスに接続されている唯一の方法はありません。

以前のOO以外の言語では、人々は「コール」という用語を使用していました。 OOが誇大宣伝になったとき、新しい名前が発明され、人々は「関数を呼び出す」と言ったが、「メソッドを呼び出す」と言った。

+1

実際、彼らは「メッセージを送る」と言った。 –

+0

Objective Cの外ではそれを見たことがありません。私がC++を学んだとき、それは "メソッドを呼び出す"ものでした。 –

+1

これはSmalltalk *で1972年以来、少なくとも*使用されています。これはSelf、Newspeak、Io、Ioke、Ruby、Objective-C++、いくつかのLisp OOシステム、いくつかのScheme OOシステムでも使用されています。 –

関連する問題