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

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.

主站蜘蛛池模板: 乌什县| 竹山县| 闸北区| 澎湖县| 安阳县| 华坪县| 武强县| 福安市| 得荣县| 昌江| 嫩江县| 开封县| 孟州市| 衡阳县| 彭州市| 嵩明县| 北京市| 天水市| 白朗县| 谢通门县| 北川| 潞西市| 龙门县| 桐乡市| 西贡区| 永州市| 富裕县| 成都市| 阿荣旗| 新河县| 乐昌市| 四平市| 施甸县| 甘谷县| 壶关县| 扶绥县| 鄂温| 临湘市| 东乡族自治县| 墨脱县| 南投市|