JavaリフレクションはJavaソースファイルにないクラスファイルにメソッドを追加できますか?

ユージーンラークス

最近、Javaのディープラーニングのソースコードを掘り下げています。そのようなクラスNeuralNetConfigurationがあり、すべてにゲッターとセッターを必要とするフィールドがたくさんあります。ただし、NeuralNetConfiguration.javaソースコードは何も提供していません。

IntelliJでこのプロジェクトを開くと、ctrlはこのクラスの使用法をクリックします。これは主にNeuralNetConfiguration.getNInput()またはNeuralNetConfiguration.getKernelSize()のようなメソッドであり、IDEはすべてのゲッターが含まれるコンパイル済みクラスファイルに移動します。このクラスのフィールドごとに定義されます。

私はJavaの初心者なので、これがどのように行われるのか疑問に思います。私がjavareflectについて見つけた投稿は、独自のクラスローダーを作成しない限り、reflectがメソッドをクラスのメソッドに追加できないことを示唆しています。Javaプロジェクトのディープラーニングを確認しましたが、彼らはそれを行っていないと思います。

時々私も気になりますが、IntelliJは、特にmvnコマンドラインを使用する代わりにIntelliJを使用してプロジェクトをビルドした後、それらのgetFieldsメソッドがソースファイルにまったくないために解決できなかったというエラーを報告し始めます。

kutschkem

魔法はクラスの@Dataアノテーションで起こります。この注釈はProjectLombokからのものです。おそらくどこかに、コンパイルプロセスにフックしてこれらのメソッドを生成するアノテーションプロセッサがあります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ソリューションファイルが置き忘れられ、ソリューションファイルのバックアップがない場合、ビルドファイルをasp.netのソリューションファイルに変更する方法/ツールはありますか?

分類Dev

クラスはKotlinまたはJavaでリフレクションを使用して、インターフェイスからデフォルトのメソッドをオーバーライドしているかどうかを確認する方法?

分類Dev

ワードプレスでは、別の場所/ファイルに追加/登録されているアクションに関数/メソッドをフックする方法はありますか?

分類Dev

Javaクラスファイルを動的にロードするメソッド

分類Dev

シンボルエラーを出さない別のクラスファイルのjavaメソッド

分類Dev

VisualStudioのソリューションエクスプローラーでファイルを追加するにはどうすればよいですか?

分類Dev

静的ファクトリーメソッドでオーバーライドされたメソッドでインスタンスを作成するときに、囲んでいるクラスのプライベートフィールドにアクセスするにはどうすればよいですか?

分類Dev

XAMLファイルではなくアプリケーションのC#バックエンドにアプリケーションリソースを追加するにはどうすればよいですか?

分類Dev

「アンロードされた」Javaクラスファイル内のクラス、フィールド、およびメソッドレベルのアノテーションを検査する方法はありますか?

分類Dev

defineClassメソッドはjava.lang.ClassFormatErrorをスローします:クラスファイルに互換性のないマジック値1885430635

分類Dev

フィールドにクエリを実行してメインコレクションフィールドを取得し、クラウドファイヤーストアのサブコレクションドキュメントでサブコレクションを取得することはできますか?

分類Dev

javassistがpre-mainメソッドでクラスファイルをロードする(Javaインスツルメンテーション)

分類Dev

ブラウザでのJavaプラグインのサポートは非推奨になります。アプレットがクライアントファイルシステムにアクセスするための代替ソリューションはありますか?

分類Dev

ヘッダーファイルのない言語は、どのようにしてクローズドソースライブラリからクライアントにシンボルをエクスポートしますか?

分類Dev

ソリューションテストのコードカバレッジ結果ファイルを、テストプロジェクトディレクトリではなくソリューションディレクトリに出力する方法

分類Dev

GitHubソース(Python)で不要なシークレットファイルをHerokuに追加するにはどうすればよいですか?

分類Dev

Riderのエクスプローラーでソリューションまたはプロジェクトを選択したときに、Riderが.slnファイルまたは.csprojファイルを表示しないようにするにはどうすればよいですか?

分類Dev

Javaクラスに新しいメソッドを追加した後、hotifx(ビルドせずにクラスファイルを移動するだけ)を配置できますか?

分類Dev

カスタムボタンをクリックする前にファイルをアップロードし、ajaxを使用してそれをコントローラーアクションメソッドに送信する方法はありますか?

分類Dev

別のファイルのクラスからメソッドをインポートしてもうまくいかないのはなぜですか?

分類Dev

「エラー:シングルDEXファイルで要求されたクラス(#メソッド:66653> 65536)が収まらない」署名APKを生成するとき

分類Dev

mainメソッドがJavaファイルの「非パブリッククラス」内にある場合はどうなりますか?

分類Dev

別の.javaファイルにある別のクラスからメソッドを呼び出す方法は?

分類Dev

Visual StudioでRoslynアナライザーを作成するために、単一のソリューションに複数のanalyzer.csファイルとコードフィクサーファイルを追加できますか?

分類Dev

ユニット/テストクラスファイル内のすべてのファイルで共有される共通のメソッド(ログインメソッドなど)をどのように利用できますか?

分類Dev

ソリューションエクスプローラーでテキストファイルを作成するにはどうすればよいですか?

分類Dev

プライベートメソッドはクラスの外部にアクセスできるため、リフレクションはプライベートメソッドの概念を壊しますか?

分類Dev

C ++ :: #include:複数のソースファイルにテンプレートクラスヘッダーファイルを追加しますか?

分類Dev

EclipseでJavaアプリケーションのクラスパスにXMLファイルを追加する方法

Related 関連記事

  1. 1

    ソリューションファイルが置き忘れられ、ソリューションファイルのバックアップがない場合、ビルドファイルをasp.netのソリューションファイルに変更する方法/ツールはありますか?

  2. 2

    クラスはKotlinまたはJavaでリフレクションを使用して、インターフェイスからデフォルトのメソッドをオーバーライドしているかどうかを確認する方法?

  3. 3

    ワードプレスでは、別の場所/ファイルに追加/登録されているアクションに関数/メソッドをフックする方法はありますか?

  4. 4

    Javaクラスファイルを動的にロードするメソッド

  5. 5

    シンボルエラーを出さない別のクラスファイルのjavaメソッド

  6. 6

    VisualStudioのソリューションエクスプローラーでファイルを追加するにはどうすればよいですか?

  7. 7

    静的ファクトリーメソッドでオーバーライドされたメソッドでインスタンスを作成するときに、囲んでいるクラスのプライベートフィールドにアクセスするにはどうすればよいですか?

  8. 8

    XAMLファイルではなくアプリケーションのC#バックエンドにアプリケーションリソースを追加するにはどうすればよいですか?

  9. 9

    「アンロードされた」Javaクラスファイル内のクラス、フィールド、およびメソッドレベルのアノテーションを検査する方法はありますか?

  10. 10

    defineClassメソッドはjava.lang.ClassFormatErrorをスローします:クラスファイルに互換性のないマジック値1885430635

  11. 11

    フィールドにクエリを実行してメインコレクションフィールドを取得し、クラウドファイヤーストアのサブコレクションドキュメントでサブコレクションを取得することはできますか?

  12. 12

    javassistがpre-mainメソッドでクラスファイルをロードする(Javaインスツルメンテーション)

  13. 13

    ブラウザでのJavaプラグインのサポートは非推奨になります。アプレットがクライアントファイルシステムにアクセスするための代替ソリューションはありますか?

  14. 14

    ヘッダーファイルのない言語は、どのようにしてクローズドソースライブラリからクライアントにシンボルをエクスポートしますか?

  15. 15

    ソリューションテストのコードカバレッジ結果ファイルを、テストプロジェクトディレクトリではなくソリューションディレクトリに出力する方法

  16. 16

    GitHubソース(Python)で不要なシークレットファイルをHerokuに追加するにはどうすればよいですか?

  17. 17

    Riderのエクスプローラーでソリューションまたはプロジェクトを選択したときに、Riderが.slnファイルまたは.csprojファイルを表示しないようにするにはどうすればよいですか?

  18. 18

    Javaクラスに新しいメソッドを追加した後、hotifx(ビルドせずにクラスファイルを移動するだけ)を配置できますか?

  19. 19

    カスタムボタンをクリックする前にファイルをアップロードし、ajaxを使用してそれをコントローラーアクションメソッドに送信する方法はありますか?

  20. 20

    別のファイルのクラスからメソッドをインポートしてもうまくいかないのはなぜですか?

  21. 21

    「エラー:シングルDEXファイルで要求されたクラス(#メソッド:66653> 65536)が収まらない」署名APKを生成するとき

  22. 22

    mainメソッドがJavaファイルの「非パブリッククラス」内にある場合はどうなりますか?

  23. 23

    別の.javaファイルにある別のクラスからメソッドを呼び出す方法は?

  24. 24

    Visual StudioでRoslynアナライザーを作成するために、単一のソリューションに複数のanalyzer.csファイルとコードフィクサーファイルを追加できますか?

  25. 25

    ユニット/テストクラスファイル内のすべてのファイルで共有される共通のメソッド(ログインメソッドなど)をどのように利用できますか?

  26. 26

    ソリューションエクスプローラーでテキストファイルを作成するにはどうすればよいですか?

  27. 27

    プライベートメソッドはクラスの外部にアクセスできるため、リフレクションはプライベートメソッドの概念を壊しますか?

  28. 28

    C ++ :: #include:複数のソースファイルにテンプレートクラスヘッダーファイルを追加しますか?

  29. 29

    EclipseでJavaアプリケーションのクラスパスにXMLファイルを追加する方法

ホットタグ

アーカイブ