【问题标题】:module descriptor file allowed import statements Why?模块描述符文件允许导入语句 为什么?
【发布时间】:2020-02-17 16:56:50
【问题描述】:

请任何人解释一下模块描述符文件允许导入为什么?
模块描述符文件中import语句有什么用。

import java.util.*;

module superman {
}

【问题讨论】:

    标签: java java-11 java-module module-info


    【解决方案1】:

    如果您使用的是provides 指令,则一种用途是:

    module superman {
        provides com.github.me.superhero.Superhero with com.github.me.superhero.Batman;
        provides com.github.me.superhero.Superhero with com.github.me.superhero.IronMan;
    }
    

    使用导入看起来像:

    import com.github.me.superhero.*;
    
    module superman {
        provides Superhero with Batman;
        provides Superhero with IronMan;
    }
    

    【讨论】:

    • JLS 的 §7.3 Compilation Units 似乎支持这个答案:“模块化编译单元module 声明(第 7.7 节)组成,前面可选 @987654327 @ 声明。import 声明允许此模块和其他模块中的包中的类型以及 static 类型的成员在 module 声明中使用它们的简单名称来引用。虽然有趣的是,我在 §7.7 模块声明(包括小节)中找不到任何关于 import 语句的内容。
    • 也来自compilation unit => ModularCompilationUnit: {ImportDeclaration} ModuleDeclaration
    猜你喜欢
    • 1970-01-01
    • 2017-04-13
    • 1970-01-01
    • 2017-10-27
    • 2014-04-24
    • 1970-01-01
    • 1970-01-01
    • 2013-03-17
    • 1970-01-01
    相关资源
    最近更新 更多