Kotlin——包

简介: 原文地址:http://kotlinlang.org/docs/reference/packages.html包一个源文件可以以下面的包声明开头:package foo.barfun baz() {}class Goo {}// ...源文件的所有内容(例如包和函数)都被声明的包所包含。


一个源文件可以以下面的包声明开头:

package foo .bar fun baz () {} class Goo {} // ...

源文件的所有内容(例如包和函数)都被声明的包所包含。因此,对于上面的例子,baz ()的全名称为foo.bar.baz,Goo的全名称为foo.bar.Goo。
如果一个包没有被指明,则文件属于默认包。

默认引入

一些包默认被引入每一个Kotlin文件:


根据目标平台的不同,一些额外的包也会被引入:

  • JVM:
  • JS:

引入

除了默认的引入,每个文件还包含它自己的引入。引入的使用在[语法]这部分有描述。

我们可以引入一个简单的 名字,例如:

import foo .Bar // 可以直接访问Bar了

或者让这个作用域(包,类,对象等)的所有内容可访问:

import foo .* // foo内的所有内容可以访问

如果存在命名冲突,我们可以通过使用as重命名冲突的实体来解决冲突:

import foo .Bar // Bar 可访问 import bar .Bar as bBar // bBar 代表 'bar.Bar'

import关键字不仅仅被限制在引入类上面,你也可以用它来引入其他声明:

  • 高级函数和属性
  • 声明在单例类的方法中的方法和属性
  • 枚举常量
不像java这货, Kotlin 没有一个单独的“import static”这种语法;所有的声明都是用import这个常规关键字引入。

高级别函数的可见性

如果一个高级的函数(不在类内层这种,直接在包下面)被标记为私有的,它声明时候所在的文件是私有的,仅仅在它声明的文件中可见。








目录
打赏
0
0
0
0
18
分享
相关文章
理解React中Fiber架构(二)
自从React16版本更新了Hook用法,同时引入了新的Fiber架构去重构整个渲染和事件处理过程,React团队引入Hook是为了更好剥离业务代码,让开发能更加友好的抽象代码,达到低耦合的函数组件目的,那么重构Diff算法,引入Fiber架构是为了什么呢? 其实只是为了能够一个目标快速响应,原先Diff算法时间复杂度为O(n3) O(n^3)O(n3) ,最后经过Fiber重构达到了O(n)O(n)O(n),这里面具体有什么门道,值得我们去深入研究一下。
614 0
ssh端口转发(跳板机)详解
如果在工作环境中,被防火墙限制了一些网络端口的使用,但是允许SSH的连接,也能够将通过ssh端口转发来进行通讯。
5193 1
ssh端口转发(跳板机)详解
高吞吐量分布式消息系统:深入了解 Apache Kafka
在现代的分布式系统中,消息传递已经成为实现异步通信、日志记录和事件驱动架构的核心。Apache Kafka,作为一款高吞吐量、持久性和分布式的消息系统,正被越来越多的企业和开发者用于构建实时数据流和事件处理平台。本文将为您详细介绍 Apache Kafka 的核心概念、特性以及在分布式架构中的应用。
268 0
挑战21天手写前端框架 day13 解析用户配置文件,将框架行为交到用户手里
挑战21天手写前端框架 day13 解析用户配置文件,将框架行为交到用户手里
209 0
挑战21天手写前端框架 day13 解析用户配置文件,将框架行为交到用户手里
ECS使用有感
我是一名即将步入社会的大学生,随着网络法等相关专业知识的学习愈发强烈。查询资料时,常常会浏览到制作精美的个人站,因此产生了建设自己个人站的设想,但是由于业余时间少之甚少,同时听闻购买域名与服务器的价格不菲,因此计划一直未能实现
【带你成为pyq最靓的仔】朋友圈九宫格(一)之图片切割篇
既然能够对图片进行九宫格化操作,那么视频是不是也可以呢?答案是肯定的,关于对视频进行九宫格化的操作我将在本系列推文的第二篇进行讲解
【带你成为pyq最靓的仔】朋友圈九宫格(一)之图片切割篇
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问