官术网_书友最值得收藏!

Wildcard imports

If we have a bunch of imports from the same package, then to avoid specifying each import individually, we can import the entire package at once using the * operator.

If we have several imports from the same package, then to avoid listing each import on a single line, all the classes and interfaces from a package can be imported at once. This is done using the * operator. For example, the following package declaration would import every class and interface from the com.packt.myproject package:

    import com.packt.myproject.* 

Wildcard imports are especially useful when a large number of helper functions or constants are defined at the top level, and we wish to refer to those without using the name of the package that contains those functions. In the following example, two constants will be defined in one package:

    package com.packt.myproject.constants 
    // define the two constants
    val PI = 3.142 
    val E = 2.178 

To avoid referencing these constants by their FQN, we will import them in the next example:

 package com.packt.myproject
//import the two constants defined import com.packt.myproject.constants.* //sum the two constants fun add() = E + PI

Notice how the add() function does not need to refer to E and PI using the FQN, but can simply use them as if they were in scope. The wildcard import removes the repetition that would, otherwise, be needed when importing numerous constants.

主站蜘蛛池模板: 镇赉县| 富蕴县| 扬州市| 平南县| 河东区| 石林| 温泉县| 沁源县| 秭归县| 福安市| 滕州市| 尚志市| 伽师县| 蒙山县| 兴化市| 宁强县| 台前县| 乌兰察布市| 定兴县| 德阳市| 上饶市| 崇信县| 黑河市| 隆林| 通城县| 石柱| 西乌珠穆沁旗| 乌兰察布市| 惠安县| 大关县| 清河县| 安达市| 长岛县| 平南县| 军事| 阿尔山市| 老河口市| 英山县| 嘉义市| 青岛市| 吴川市|