Why does AndroidJavaClass exist?

AndroidJavaClass just inherits AndroidJavaObject, and has no overrides. What is it use?

I answered this question already on your comment over here. As i said both classes serve a different purpose. It does have an override, the constructor.

  • AndroidJavaClass is a wrapper class for a native Java class. All the constructor does is finding the Java class with the given name.
  • AndoidJavaObject is a wrapper class for a native Java class instance. The constructor of this class does create an instance of the Java class and serves as wrapper for that class instance.

Both classes have a distinct usage.
AndroidJavaClass allows you to access a Java class type and access static members of that class. In this case no instance of that class is created.
AndoidJavaObject will create an instance of a Java class and allows you to access instance members as well as static members.