为什么这个Java方法只能使用反射



我对反射很陌生,事实上,我从来没有使用过它,直到我遇到以下问题-

我尝试使用在Resources类中定义的名为getCompatibilityInfo的方法,但我看到这样做的唯一方法是像这样调用它:

Resources.class.getMethod("getCompatibilityInfo");

我可以使用一个叫做getResources()的方法来获得资源的实例,那么为什么不能使用getResources().getCompatibilityInfo()来访问它呢?

类的源代码在这里

谢谢!

Resources没有空的公共构造函数。所以new Resources()会给你一个编译时错误,而且getCompatibilityInfo()不是公共API的一部分

这只发生在Android中,因为 Android .jar删除了所有标记为@hide的方法。这只在编译时重要,因为android.jar仅用于开发。

详细解释

相关内容

  • 没有找到相关文章

最新更新