首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Kotlin中的常用类及其使用

一、构造函数和初始化块 1.初始化块 2.主构造函数 3.次构造函数 4.他们之间的联系 二、属性 1.属性的声明 2.避免递归调用的幕后字段 三、常用的类 一、构造函数和初始化块 1.初始化块 代码的初始化工作由它负责...,在调用主构造函数之前执行,这部分理论上可以进行任何工作,但建议类的初始化赋值可以放在这,其余的最好由其他专门的地方处理,采用init关键字 init{ println("ww cool") }...2.主构造函数 主构造函数只能由一个,初始化块相当于放在主构造函数的无参函数中,按顺序执行初始化块,这一点和传统的面向对象编程中的主构造函数没有太大的区别。...(name:String){ } 3.次构造函数 同样使用constructor关键字作为函数名,但它不能省略函数名,使用时需要调用主构造函数 class MyClass constructor...和getter,所以不用这么担心 三、常用的类 抽象类 含有抽象方法的类称为抽象类,这一点和java里面很像 内部类 使用inner关键字,可以访问内部类外的属性 class outer{ val

1.1K20

Shell-通过shell启动Java类中的main方法 + 通过Shell启动jar包

文章目录 概述 shell启动Java类中的main方法 启动脚本分析 启动脚本 shell启动jar包 概述 Java程序 运行在linux主机上, 通过shell脚本启动为进程。...Java程序中 通过定时任务,设置访问Hbase的时间间隔,设置告警规则,比如三次获取Hbase中的数据失败,则调用存过,遍历配置的告警号码,插入短信中间表,实现短信的发送。 项目结构如下 ?...shell启动Java类中的main方法 启动脚本分析 根据服务器上JDK 以及工程部署路径 ?...(找到主机native的安装路径指定即可) 应用中引用的hadoop相关的jar包(后面因报错,增加了commons-codec-1.10.jar 和 netty-3.6.6.Final.jar) btw...: 应用中的hadoop相关jar尽量和大数据平台的保持一致, 所以本应用的jar都是从大数据平台主机上down下来的 (@ο@)。

1.2K60
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    About Kotlin-Kotlin中的类1About Kotlin(1)

    About Kotlin(1) 因为是从Java的角度来学习Kotlin,在Java中,类作为第一等公民。故学习Kotlin,也先从其的类开始。...Kotlin中的类 普通的类 class Kotlin中没有添加修饰符直接以class开头的都是final类。final类的意义在于JVM可能存在的优化(常量和方法内联)和防止继承的滥用。...val cumtomerKey = name.toUpperCase() } //通过这样,可以将主要构造方法中的参数直接变成类的属性.还可以直接写默认值 //在JVM上面会自动生成无参构造方法...构建这样的对象需要写很多代码。 对应的Open类 对应上面的类,kotlin中的open类就是能够被继承的了。必须在类声明的时候使用open关键字。...//在Kotlin中,可以使用data关键字 data class User(val name:String,val age:Int) 自动生成的函数 编译器会自动的从主构造函数中根据所有声明的属性提取以下函数

    1.2K30

    kotlin整合spring cglib问题分析

    近期在整合 kotlin 与 springboot2 + shiro+vue 的一个脚手架工具,但是在 controller 层出现了一个十分诡异的问题——service 层通过 autowire 注入不成功...因为方法上加了@RequiresPermissions 注解,在之前的 shiro 源码分析文章中我们知道,这些权限注解是通过 MethodInterceptor 实现的,还记得我们使用注解时必须要配置的几个...(如@RequiresRoles,@RequiresPermissions),需借助SpringAOP扫描使用Shiro注解的类,并在必要时进行安全逻辑验证 * 配置以下两个bean(DefaultAdvisorAutoProxyCreator...这里我们只需要知道,加了这几个 bean 之后,会对加有权限注解的方法使用 spring aop cglib 做一个代理增强。 为什么在 kotlin 中没有这种增强效果呢?...我们接着来看 kotlin-spring 插件的使用: Here's how to use all-open with Maven: kotlin-maven-plugin

    1.1K20

    使用 Kotlin 构建的常见问题解答 | Kotlin 迁移指南 (下篇)

    我们于近期开始连载了关于 Kotlin 迁移指南的系列文章,帮助开发者们顺利迁移并开始使用 Kotlin 构建 Android 应用。...本篇是本系列的下篇,我们将为您解答一些使用 Kotlin 构建应用时的常见问题。...您可以点击下面链接回顾本系列的上篇和中篇: 使用 Kotlin 构建 Android 应用 开始迁移到 Kotlin 在 Android 开发中使用 Kotlin 语言的常见问题解答 Android 为何将...详情请参阅 "Kotlin 使用入门"。 如何在 Android Studio 中调试 Kotlin 代码? Kotlin 代码的调试方法与 Java 代码相同。您不需要执行任何其他操作。...此外,我们非常期待通过双方的努力,为 Kotlin 语言创建一个非营利基金会以便进行后续的开发。 Kotlin 是开源语言吗?

    4.4K20

    浅谈 java 中构建可执行 jar 包的几种方式

    下面我们看看如何在 eclipse 中构建一个可执行的 jar 包。...来构建,在 maven 工程中,我们也可以很方便的打包成可执行的 jar 包。...关于项目的依赖,它很聪明地将依赖 JAR文件全部解压后,再将得到的.class文件连同当前项目的.class文件一起合并到最终的CLI包中,这样,在执行CLI JAR文件的时候,所有需要的类就都在Classpath...classpathPrefix:如果您计划在同一目录下包含有您的所有依赖项,作为您将构建的 JAR,那么您可以忽略它;否则使用  classpathPrefix 来指定所有依赖 JAR 文件的前缀。...mainClass:当用户使用 lib 命令执行 JAR 文件时,使用该元素定义将要执行的类名。

    3.9K50

    Kotlin Vocabulary | 使用 Kotlin 中的扩展提升代码可读性

    您有过想给某个类的 API 添加新的功能或属性吗? 通常您可以通过继承该类,或者创建一个新的函数,该函数接收该类的实例作为参数,从而解决这个问题。...Java 编程语言通常使用 Utils 类来解决此类问题,但这样的方式并不支持代码自动补全,会让写出的代码比较难以查找,使用起来也不直观。...通过它,您无需使用继承,或创建接收类实例的函数即可为某个类添加功能。同 Java 这类编程语言不同,Android Studio 的自动补全功能是支持 Kotlin 扩展的。...扩展可以用于第三方代码库、Android SDK 以及用户自定义的类。 继续阅读,探索如何通过扩展来提升您的代码可读性。...在函数体中,您可以使用 this 来引用接收者对象,在该函数作用域内能够访问到接收者所属类的全部成员对象。

    1.3K10

    每日一博 - 重新定义JAR中的类或方法

    确保编译输出的类文件能够覆盖JAR包中的原始类。 通过这些步骤,可以实现对JAR包中方法的重写,使得应用程序能够使用修改后的方法而不是JAR包中原始的方法。...这种方法不会直接修改JAR包,而是通过项目的编译输出来覆盖原始类,保持了JAR包的完整性。...方式二: 魔改Jar包中的类 在不影响项目目录结构的情况下,可以使用如下方式替换JAR包中的类: 准备重写的类文件:按照上面的步骤,在项目的src目录下创建同包名同类名的Java类文件,并修改其中的代码...使用压缩软件打开JAR包:使用压缩软件(如Bandzip)打开JAR包,以便编辑其中的内容。 替换类文件:在压缩软件中,找到需要替换的类文件,并删除它。...删除临时文件夹中的.class文件:确认替换已完成后,可以删除临时文件夹中的.class文件。 通过这种方式,可以在不影响项目目录结构的情况下替换JAR包中的类文件,实现对类和方法的定制化。

    30500

    Java 中枚举类的使用

    在日常写项目时,很多数据字典常量都需要定义和使用,同时在 Java 面试中,枚举也是一个绕不开的话题,这篇文章就来详细介绍一下枚举的定义以及使用。 01  【什么是枚举类?】...枚举类的定义就是指将变量的值一一列出来,变量的值只限于列举出来的值的范围内,使用枚举可以很方便地定义数据常量、以及我们的使用。 02  【为什么需要枚举类?】...在大一点的项目中,可以使用数百个静态常量。如果它们都写在一个文件类里面的话,很容易造成命名混乱,程序也很难读取。 (3)可以帮助我们定义所需的类型。 枚举易于记忆和使用,相当于一个接口。...使用时,只需封装内部数据类型并限制数据字段。 此外,还可以为不同的枚举变量调用不同的处理方法(这可以通过实现枚举类的抽象方法来实现)。...03  【枚举类的定义和使用】 下面就定义一个试题类型的枚举类来帮助大家理解:

    1.6K20

    Java中的Reference类使用

    Java 2 平台引入了 java.lang.ref 包,这个包下面包含了几个Reference相关的类,Reference相关类将Java中的引用也映射成一个对象,这些类还提供了与垃圾收集器(garbage...Reference引用类的几种类型 在jvm中,一个对象如果不再被使用就会被当做垃圾给回收掉,判断一个对象是否是垃圾,通常有两种方法:引用计数法和可达性分析法。...关于WeakReference,Java中一个比较典型的应用就是:WeakHashMap。关于这个类的使用情况大家可以参考这篇文章。...这个虚引用对于对象而言完全是无感知的,有没有完全一样,但是对于虚引用的使用者而言,就像是待观察的对象的把脉线,可以通过它来观察对象是否已经被回收,从而进行相应的处理。...程序可以通过判断引用队列中是否已经加入了虚引用,来了解被引用的对象是否将要被垃圾回收。如果程序发现某个虚引用已经被加入到引用队列,那么就可以在所引用的对象的内存被回收之前采取必要的行动。

    71210
    领券