電子書籍の厳選無料作品が豊富!

C#ではデリゲートで関数を変数的に扱うことが出来ますが
Javaでそのようなことはできますか?

A 回答 (2件)

 呼び出し先の関数を実行時に動的に決定する方法としては、


以下のような感じになると思います。

import java.awt.*;

interface funcclass {
String Func();
}

class extbutton extends Button implements funcclass {
public String Func() { return("ExtButton"); };
}

class extlabel extends Label implements funcclass {
public String Func() { return("ExtLabel"); };
}

public class delegate {

private static void CallFunc(funcclass fc) {
System.out.println(fc.Func());
};

public static void main(String args[]) {

extbutton ExtButton = new extbutton();
extlabel ExtLabel = new extlabel();

if (Math.random() > 0.5)CallFunc(ExtButton);
elseCallFunc(ExtLabel);

};

}
    • good
    • 0

この辺の話とか参考になる?(元質問についた回答とか含めて)


http://pastaseca.blog119.fc2.com/blog-entry-53.h …
    • good
    • 0
この回答へのお礼

ありがとうございます!
インターフェイスを使ったやり方でやってみることにします。

お礼日時:2008/03/06 00:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!