Kotlin伴生对象与静态成员
一、解释
每个类可以对应一个伴生对象
伴生对象的成员全局独一份
伴生对象的成员类似于Java的静态成员
二、Java中
调用kotlin类的方法需要加上
@JvmStatic
调用kotlin类的成员变量需要加上
@JvmField
三、形如java.lang包中math类
它所有的方法全部都是静态的,在使用的时候,直接就可以math.xxx(方法)
四、形如Integer类中的方法,在Java中这样使用
Integer a = Integer.valueOf(3);
五、在Kotlin中,形如这样的可以直接调用
看一下代码
Integer a = Integer.valueOf(3);
六、看一下例子
先看一下kotlin中的类
package net.println.kotlin.chapter4 /** * @author:wangdong * @description:伴生对象和静态成员 */ fun main(args: Array<String>) { //val a = minOf(args[0].toInt(),args[1].toInt()) //用一下下面的定义 val latitude = Latitude.ofDouble(40.3) val latitude2 = Latitude.ofLatitude(latitude) println(Latitude.TAG) } /**定义一个纬度类*/ class Latitude private constructor(val value: Double){ //类的伴生对象 companion object { //定义一个静态方法 @JvmStatic fun ofDouble(double: Double): Latitude { return Latitude(double) } //定义一个静态方法 @JvmStatic fun ofLatitude(latitude: Latitude): Latitude { return Latitude(latitude.value) } //定义一个静态变量 @JvmField val TAG: String = "hello" } }
看一下Java中写法
package net.println.kotlin.chapter4; /** * @author:wangdong * @description:在java中调用Latitude方法 */ public class StaticJava { Integer a = Integer.valueOf(3); public static void main(String[] args) { //需要调用一下companion,在调用方法 Latitude latitude = Latitude.Companion.ofDouble(54.4); //可以在Latitude中方法上加一个注解@JvmStatic Latitude latitude2 = Latitude.ofDouble(54.87); System.out.println(Latitude.TAG); } }
结束
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
java基础学习_IO流04_用户登录注册案例(IO版)、数据操作流(操作基本数据类型的流)、内存操作流、打印流、标准输入输出流、随机访问流...
java基础学习_IO流04_用户登录注册案例(IO版)、数据操作流(操作基本数据类型的流)、内存操作流、打印流、标准输入输出流、随机访问流、合并流、序列化流(对象操作流)、Properties属性集合类、NIO(新IO)_day22总结 ============================================================================= ============================================================================= 涉及到的知识点有:1:用户登录注册案例(IO版) 2:数据操作流(操作基本数据类型的流)(理解) 3:内存操作流(理解) 4:打印流(掌握) 5:标准输入输出流(理解) 6:随机访问流(理解) 7:合并流(理解) 8:序列化流(对象操作流)(理解) 9:Properties属性集合类(理解) (1)Properties类的概述 (2)Properties类的特有功能 (3)Properties和IO流的结合使用 (4)案例 10:NIO(新IO...
- 下一篇
泛型就这么简单
前言 从今天开始进入Java基础的复习,可能一个星期会有一篇的<十道简单算法>,我写博文的未必都是正确的~如果有写错的地方请大家多多包涵并指正~ 今天要复习的是泛型,泛型在Java中也是个很重要的知识点,本文主要讲解基础的概念,并不是高深的知识,如果基础好的同学可以当复习看看~ 一、什么是泛型? Java泛型设计原则:只要在编译时期没有出现警告,那么运行时期就不会出现ClassCastException异常. 泛型:把类型明确的工作推迟到创建对象或调用方法的时候才去明确的特殊的类型 参数化类型: 把类型当作是参数一样传递 <数据类型> 只能是引用类型 相关术语: ArrayList<E>中的E称为类型参数变量 ArrayList<Integer>中的Integer称为实际类型参数 整个称为ArrayList<E>泛型类型 整个ArrayList<Integer>称为参数化的类型ParameterizedType 二、为什么需要泛型 早期Java是使用Object来代表任意类型的,但是向下转型有强转的问题,这样程序就...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2全家桶,快速入门学习开发网站教程
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- MySQL8.0.19开启GTID主从同步CentOS8
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装