15

いくつかのネイティブメソッドを通常のJavaメソッドとして書き直しています。

ネイティブメソッドは事実上静的ですか?または、暗黙の「this」パラメータを持っている場合はありますか?

ありがとう!

4

1 に答える 1

27

ネイティブメソッドは、通常のJavaメソッドと同じように、staticまたは非にすることができます。static

staticネイティブメソッドはthis参照staticを受け取り、代わりにcontaingクラスへの参照を受け取ります。

JNI仕様から:

ネイティブメソッドの引数

JNIインターフェース・ポインターは、ネイティブ・メソッドへの最初の引数です。JNIインターフェース・ポインターのタイプはJNIEnvです。2番目の引数は、ネイティブメソッドが静的か非静的かによって異なります。非静的ネイティブメソッドの2番目の引数は、オブジェクトへの参照です。静的ネイティブメソッドの2番目の引数は、そのJavaクラスへの参照です。

于 2013-03-06T17:43:44.850 に答える