java - 为什么我无法访问 android.widget 包中的包私有(private)字段?

标签 java android access-modifiers package-private

我正在尝试重写 Android View 类来稍微调整功能。但我需要修改一个没有setter方法的字段。我已将子类放入名为 android.widget 的包中。为什么我无法访问任何包私有(private)成员字段?我注意到编译器说它们“无法解析”,而不是不可访问。这与 Android.jar 的构建方式有关吗?

最佳答案

这些方法不是 Android SDK 的一部分,因此您无法直接从 SDK 应用程序使用这些方法。如果您正在构建固件,则可以直接访问它们。据推测,您的子类可以通过反射获取它们,但请记住,此类字段(或任何其他非 SDK 内容)在任何给定的 Android 版本中可能会发生变化。

关于java - 为什么我无法访问 android.widget 包中的包私有(private)字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3886209/

相关文章:

java - 何时在 JDK 8+ 中使用 Optional<T> 与 OptionalT(其中 T 是盒装原始类型)?

java - ASM 不报告常量指令

Android 从 onitemclick 调用 onactivityresult

c# - 更改 ASP.NET 控件的访问修饰符

c# - 为什么在 Jon Skeet 的书中的这个例子中使用了 internal 关键字?

java - WorkManager 自定义初始化提示 WorkManager#initialize

java - 调用entityManager.find()是否需要EntityTransaction?

用于读取或解析 shapefile 的 Android 库

java - UI 和非 UI 线程的多线程

java - SonarQube 漏洞 : Explicitly declare the visibility for variable