Module  java.base
软件包  java.lang.module

Class ModuleDescriptor.Opens

  • All Implemented Interfaces:
    Comparable<ModuleDescriptor.Opens>
    Enclosing class:
    ModuleDescriptor


    public static final class ModuleDescriptor.Opens
    extends Object
    implements Comparable<ModuleDescriptor.Opens>

    由模块打开的包可能有资格或不合格。

    打开指令在模块声明声明一个包是开放的,允许在包中的所有类型,以及他们的所有成员,而不仅仅是公共类型和他们的公众成员由支持私有访问或方法来绕过或API来反映禁止默认的Java语言访问控制检查。

    从以下版本开始:
    9
    另请参见:
    ModuleDescriptor.opens()
    • 方法详细信息

      • isQualified

        public boolean isQualified​()
        返回 true如果这是合格的打开。
        结果
        true如果这是合格的打开
      • source

        public String source​()
        返回包名称。
        结果
        包名称
      • targets

        public Set<String> targets​()
        对于合格的打开,返回打包该包的模块名称的非空和不可变的集合。 对于不合格的打开,返回一个空集。
        结果
        一组目标模块名称或不合格打开,一个空集
      • compareTo

        public int compareTo​(ModuleDescriptor.Opens that)
        比较这个模块打开另一个。

        通过比较包名称来比较两个Opens对象。 在包名称相等的地方,以与模块修饰符进行比较相同的方式比较修饰符集(参见ModuleDescriptor.compareTo )。 在包名称相等并且修饰符集合相等的情况下,比较目标模块的集合。 这是通过按照升序对目标模块的名称进行排序,并根据其自然顺序进行排序,然后按照字面顺序对相应的元素进行比较。 其中集合的大小不同,较大的集合包含较小集合的所有元素,则较大的集合被认为是使较小集合成功。

        Specified by:
        compareTo在接口 Comparable<ModuleDescriptor.Opens>
        参数
        that - 该模块打开比较
        结果
        如果此模块打开,负整数,零或正整数小于,等于或大于给定模块打开
      • equals

        public boolean equals​(Object ob)
        测试此模块打开以与给定对象相等。

        如果给定的对象不是一个Opens那么这个方法返回false 两个Opens对象如果它们的修饰符集相等,则包名称相等,并且目标模块名称的集合相等。

        该方法满足Object.equals方法的一般合同。

        重写:
        equals Object
        参数
        ob - 要比较此对象的对象
        结果
        true如果,并且只有当给定对象是等于该模块依赖性的模块依赖性
        另请参见:
        Object.hashCode()HashMap
      • toString

        public String toString​()
        返回描述打开包的字符串。
        重写:
        toStringObject
        结果
        描述开放包的字符串