android java:为什么我可以访问某些公共字段而无法访问其他字段?

时间:2016-09-24 11:51:35

标签: java android

我不明白,我看看WindowManager.java的代码,我可以看到:

public interface WindowManager extends ViewManager {

    public static class LayoutParams extends ViewGroup.LayoutParams
            implements Parcelable {

        /**
         * Control flags that are private to the platform.
         * @hide
         */
        public int privateFlags;

        /**
         *
         * @see Gravity
         */
        public int gravity; 

     }
}

为什么我可以访问字段引力但无法访问字段privateFlags?两个领域的声明看起来相似,为什么我不能?

1 个答案:

答案 0 :(得分:0)

您将字段称为“privateFlag”这一事实并不意味着您无法访问。 您可以访问该字段,因为它是公开的。

  

在java访问级别修饰符中确定是否可以使用其他类   特定字段或调用特定方法。有两个级别   访问控制:

     
      
  • 在顶层 - public或package-private(无显式修饰符)。
  •   
  • 在成员级别 - public,private,protected或package-private(无显式修饰符)。
  •   

更多阅读here

关于@hide属性(在Android中)的含义,

  

它只是javadoc(也是droiddoc)的一部分,所以@hide就是这么简单   表示方法/类/字段已从API文档中排除。

更多阅读herehere