当前位置: 首页 > news >正文

浙江省建设职业注册中心网站管理网站制作

浙江省建设职业注册中心网站,管理网站制作,室内设计有哪些网站,ppt在线制作免费Kotlin学习记录 1. 权限修饰符1.1 internal 修饰符1.2 open 修饰符 2 其它修饰符2.1 lateinit 修饰符2.2 inline 修饰符2.3 var 修饰符 (变量)2.4 val 修饰符 (常量)2.5 typealias 3 申明对象3.1 申明对象不赋值3.2 申明对象并实例化3.3 申明常量并用 by lazy 懒加载 4 类、接口… Kotlin学习记录 1. 权限修饰符1.1 internal 修饰符1.2 open 修饰符 2 其它修饰符2.1 lateinit 修饰符2.2 inline 修饰符2.3 var 修饰符 (变量)2.4 val 修饰符 (常量)2.5 typealias 3 申明对象3.1 申明对象不赋值3.2 申明对象并实例化3.3 申明常量并用 by lazy 懒加载 4 类、接口、object、fun、const4.1 class4.2 interface4.3 object4.4 fun4.5 const 5 suspend挂起函数必须在Coroutine协程中使用 1. 权限修饰符 除了java的 public protected default private 外又有独特的 internal open 修饰符。 1.1 internal 修饰符 直译为内部的访问范围是当前模块可见。使用示例 // 可以对类修饰 internal class MapboxNavigationAppDelegate { }// 可以对常量修饰val 为申明常量var 为申明变量 internal val carAppLifecycleObserver object : DefaultLifecycleObserver { }// 可以对构造方法和变量修饰 class EtcGateApi internal constructor(internal var experimental: com.mapbox.navigator.Experimental ) { }1.2 open 修饰符 默认情况下 class 和成员都是具备 final 修饰符的即无法被继承和复写。 如果可以被继承或复写需要添加 open 修饰。使用示例 open class AutoArrivalController : ArrivalController { }open fun nextChain(chain: AudioTypeResolver) { }更多kotlin权限修饰符介绍参考 2 其它修饰符 2.1 lateinit 修饰符 延迟初始化但又相当于有java中的 NotNull 注解所以在使用之前必须已经实例化否则会报错。lateinit 不能用来修饰基本数据类型因为基本类型的属性在类加载后的准备阶段都会被初始化为默认值。lateinit不能修饰val常量只能修饰可变的属性。 2.2 inline 修饰符 inline——内联函数修饰符 inline fun logI(category: String? null, lazyMsg: () - String) {if (logLevel().accepts(LoggingLevel.INFO)) {logI(lazyMsg(), category)} }2.3 var 修饰符 (变量) 2.4 val 修饰符 (常量) 2.5 typealias 它的作用十分简单给已有类型取一个别名可以像使用原类型一样使用这个 “类型别名” 。 private typealias SDKRoadGraphVersionInfo com.mapbox.navigation.core.RoadGraphVersionInfo3 申明对象 3.1 申明对象不赋值 private lateinit var navigationCamera: NavigationCamera3.2 申明对象并实例化 // 基本类型 private var clearingPlayedEvents false// Class对象 private var historyTimeOffset: Double 0.0 private val navigationLocationProvider NavigationLocationProvider() private var currentJob: Job? null3.3 申明常量并用 by lazy 懒加载 类似 lateinit 修饰符 但这个懒加载用来申明常量而 lateinit 修饰符 只能用来申明变量。 private val overviewPadding: EdgeInsets by lazy {EdgeInsets(140.0 * pixelDensity,40.0 * pixelDensity,120.0 * pixelDensity,40.0 * pixelDensity) }4 类、接口、object、fun、const 这五种都可以单独定义在一个.kt文件中也可以多种类型组合。 4.1 class // 实现了LoggerFrontend接口的 MapboxCommonLoggerFrontend 类 internal class MapboxCommonLoggerFrontend : LoggerFrontend { }// 继承某个类需要后面加()还有实现的其它接口用逗号隔开添加 class MapboxNavigationActivity : AppCompatActivity(), OnClickListener { }// 带构造参数的类定义有些参数是常量被传入后不再能修改有些参数被直接定义并且是用其它的参数来构造 class NavigationCamera(mapboxMap: MapboxMap,private val cameraPlugin: CameraAnimationsPlugin,private val viewportDataSource: ViewportDataSource,private val stateTransition: NavigationCameraStateTransition MapboxNavigationCameraStateTransition(mapboxMap, cameraPlugin) ) { }// 带构造参数的类定义用 constructor 的方式 class RoadGraphVersionInfo internal constructor(val dataset: String, val version: String) { }// constructor 定义其它的构造函数 class MapboxNavigation VisibleForTesting internal constructor(val navigationOptions: NavigationOptions,private val threadController: ThreadController, ) {constructor(navigationOptions: NavigationOptions) : this(navigationOptions, ThreadController())}4.2 interface 将接口作为一个常量实现如果接口只有一个方法可以 接口名{ 实现方法 }如果有多个方法要 object : 接口名{ 实现方法 }。 interface Time { }4.3 object object InternalJobControlFactory { // 内部可以定义fun和constfun createDefaultScopeJobControl(): JobControl {val parentJob SupervisorJob()return JobControl(parentJob, CoroutineScope(parentJob Dispatchers.Default))} }4.4 fun package com.mapbox.navigation.utils.internalimport android.location.Location import com.mapbox.geojson.Pointfun Location.toPoint(): Point {return Point.fromLngLat(this.longitude, this.latitude) }4.5 const package com.mapbox.navigation.utils.internalconst val NOTIFICATION_CHANNEL Navigation Notifications const val NAVIGATION_NOTIFICATION_CHANNEL NAVIGATION_NOTIFICATION_CHANNEL const val END_NAVIGATION_ACTION com.mapbox.intent.action.END_NAVIGATION const val SET_BACKGROUND_COLOR setBackgroundColor const val NOTIFICATION_ID 76545 suspend挂起函数必须在Coroutine协程中使用 private suspend fun simulateEvents(replayEventsCallback: (ListReplayEventBase) - Unit) {val loopStart timeSeconds()val replayEvents movePivot(loopStart)if (replayEvents.isNotEmpty()) {replayEventsCallback(replayEvents)}val loopElapsedSeconds timeSeconds() - loopStartval loopElapsedMillis (loopElapsedSeconds * MILLIS_PER_SECOND).roundToLong()val delayMillis max(0L, REPLAY_UPDATE_SPEED_MILLIS - loopElapsedMillis)delay(delayMillis) }fun launchSimulator(replayEventsCallback: (ListReplayEventBase) - Unit): Job {resetSimulatorClock()return jobControl.scope.launch { // 协程中使用while (isActive) {if (isDonePlayingEvents()) {delay(IS_DONE_PLAYING_EVENTS_DELAY_MILLIS)} else {simulateEvents(replayEventsCallback) // 上面的挂起函数调用}}}.also {currentJob it} }// InternalJobControlFactory是object提供了main、default、io线程的协程JobControl获取 private val jobControl InternalJobControlFactory.createMainScopeJobControl()
http://wiki.neutronadmin.com/news/84090/

相关文章:

  • 开发网站找什么公司吗东莞网站托管
  • 网站建设及维护流程图新媒体营销有哪些岗位
  • 桂市做网站的朋友企业互联网整合营销
  • 网站建设工作室介绍范文深圳网站建设忧化
  • 建个人网站怎么赚钱吗祁阳网站建设
  • 南宁建站公司模板西宁网站建设学校
  • 做单页网站需要做什么的医院网站建设趋势
  • 网站开发工程师简介天门建设局官方网站
  • 会计网站模板百度首页广告多少钱
  • 网站正在建设中是什么意思oa系统办公平台
  • 兰州网络营销网站外贸推广课程
  • 有限公司网站建设 中企动力佛山如何拥有自己的网站域名
  • 有没有做任务给钱的网站苏州定制型网站建设
  • 购物网站怎么做优化做的好的响应式网站有哪些
  • 网站备案注销怎么恢复折扣卡网站建设
  • 网站建设工作下步打算7天精通网站建设实录简介242
  • 永久免费自助建站源代码建设银行分期手机网站
  • 静海网站建设北京网站建设公司册
  • 上虞市住房和城乡建设局网站wordpress手机导航条怎么做
  • 杭州做商业地产开什么网站好米特号类似网站
  • 微商做网站网站开发分类
  • 做苗木免费网站男女做那种的的视频网站
  • 东丽区装饰网站建设wordpress首页关键词
  • 昆明网站建设公司多少钱免备案网站
  • 海淀企业网站搭建网站怎么做qq的授权登陆
  • 湖南高端网站制济南骏驰网站开发
  • 一流的做pc端网站强的网站建设
  • 网站应用水印图片淄博桓台网站建设公司
  • 网站开发制作合同如何评价一个网站的网站建设
  • 做led视频好的网站百度小说排行榜第一名