エントリーの編集
![loading...](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/common/loading@2x.gif)
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
Javaで関数ポインタのようなことがしたい場合どうするか
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
![アプリのスクリーンショット](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/entry/app-screenshot.png)
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Javaで関数ポインタのようなことがしたい場合どうするか
かつのりさんの「OpenJDKに言語機能を追加するプロジェクト」 がインスパイア元。 JavaにはC言語の関数... かつのりさんの「OpenJDKに言語機能を追加するプロジェクト」 がインスパイア元。 JavaにはC言語の関数ポインタやjavascriptの関数オブジェクトのような構文がありません。 メソッドそのものを指し示す機能というものがないのですね。 ではコールバックしたい場合などはどうするのでしょうか? Javaではinterfaceを使います。 Javaのinterfaceはさながら実装を持たない完全な抽象クラスといった様相ですが、 型安全で継承可能な関数ポインタという側面があると私は考えています。 C言語での関数ポインタは int (*p) (int num); といったように、「戻り値の型 (*ポインタ名) (引数);」形式で宣言します。 C言語では引数と戻り値が合致していればよい、という程度に型安全です。 引数と戻り値の合致だけなので、根本的に設計の違う関数でも型さえあれば代入可能なわけ