在查阅Android源码时,经常能看到方法或类前有修饰符,满足下好奇心,查阅总结了几个常见修饰符的作用
-
@SystemApi 是 @PrivateApi 的别名
-
Android源码中,有两种类型的API无法通过标准的SDK进行访问
- 位于com.android.internal包中的
- 类/方法 被 @hide 修饰的
-
使用 @hide 修饰的方法/类/作用域,我们仍然何以通过java反射机制进行访问。
-
使用 @SystemApi 修饰的方法/类/作用域,无法通过java 反射机制进行访问(会触发
invocationTargetException
异常)。 -
@NonNull 常见用于修饰参数,用于表明该参数不为空