title: What's the difference between xxx(JNIEnv *env, jobject thisObj) and xxx(JNIEnv *env, jclass cls)?
body: <p>I saw some jni signatures as the following:</p>
  
  <pre><code>// jni
  // WAY-1
  JNIEXPORT void JNICALL Java_com_test_Test_testMethod(JNIEnv *env,  jobject thisObj);
  
  // WAY-2
  JNIEXPORT void JNICALL Java_com_test_Test_testMethod(JNIEnv *env, jclass cls);
  </code></pre>
  
  <p>And the java code maybe like this:</p>
  
  <pre><code>// java
  package com.test;
  
  public class Test {
      public native void testMethod(); 
  }
  </code></pre>
  
  <p>What's the difference between <strong>WAY-1</strong> and <strong>WAY-2</strong> ?</p>