Why does dir(someJavaObject) return the empty list?
Because the built-in dir() function returns a list of names called from the object’s __dict__, __methods__, and __members__ attributes. In Python, an instance’s methods live in the instance’s class’s dictionary, so dir(someJavaObject.__class__) would return a list of the method names (although only for the direct class, not for any base classes).