Kotlin-类

构造函数

Java

final File file = new File("file.txt");

Kotlin

val file = File("file.txt")

Java

public final class User {
}

Kotlin

class User

公开类

Java

public class User {
}

Kotlin

open class User

属性类

Java

final class User {private final String name;public User(String name) {this.name = name;}public String getName() {return name;}}

Kotlin

class User(val name: String)

有参数的构造函数

Java

final class User {private String name;public User(String name) {this.name = name;}public String getName() {return name;}public void setName(String name) {this.name = name;}}

Kotlin

class User(var name: String)

构造函数中的可选参数

Java

final class User {private String name;private String lastName;public User(String name) {this(name, "");}public User(String name, String lastName) {this.name = name;this.lastName = lastName;}// And Getters & Setters}

Kotlin

class User(var name: String, var lastName: String = "")

对类中参数赋值

Java

public class Document {private String id = "00x";public String getId() {return id;}public void setId(String id) {if(id != null && !id.isEmpty()) {this.id = id;}}}

Kotlin

class Document{var id : String = "00x"set(value) {if(value.isNotEmpty())  field = value}
}

抽象类

Java

public abstract class Document{public abstract int calculateSize();
}public class Photo extends Document{@Overridepublic int calculateSize() {}
}

Kotlin

abstract class Document {abstract fun calculateSize(): Int
}class Photo : Document() {override fun calculateSize(): Int {}
}

单例类

Java

public class Document {private static final Document INSTANCE = new Document();public static Document getInstance(){return INSTANCE;}}

Kotlin

object Document {}

扩展类

Java

public class ByteArrayUtils {public static String toHexString(byte[] data) {}}final byte[] dummyData = new byte[10];final String hexValue = ByteArrayUtils.toHexString(dummyData);

Kotlin

fun ByteArray.toHex() : String {}val dummyData = byteArrayOf()
val hexValue = dummyData.toHex()

内部类

Java

public class Documment {class InnerClass {}}

Kotlin

class Document {inner class InnerClass
}

嵌套类

Java

public class Documment {public static class InnerClass {}}

Kotlin

class Document {class InnerClass}

接口

Java

public interface Printable {void print();
}public class Document implements Printable {@Overridepublic void print() {}
}

Kotlin

interface Printable{fun print()
}class Document : Printable{override fun print() {}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/666135.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

河西走廊潜在蒸散发时空格局变化与气象因素的关系_马亚丽_2023

河西走廊潜在蒸散发时空格局变化与气象因素的关系_马亚丽_2023 摘要关键词 1 数据与方法1.1 数据来源1.2 变化趋势分析1.3 定性分析方法1.3.1 主成分分析1.3.2 相关系数1.3.3 通径分析 1.4 定量分析方法1.4.1 敏感系数1.4.2 贡献率计算 2 结果与分析2.1 ET0多年变化特征2.1.1 E…

pandas+numpy的一些基础总结

都是我白嫖来的知识,当记笔记了 pandas 8 个常用的 set_option 设置方法 - 知乎 (zhihu.com) np.set_printoptions()用法总结-CSDN博客 特别有用

Python绘图工具seaborn,教会你如何绘制更加精美的图形(二)

文章目录 用分类数据绘图1 类别散点图2 类别内的数据分布2.1 绘制箱形图2.2 绘制提琴图 3 类别内的统计估计3.1 绘制条形图3.2 绘制点图 Hello,大家好,我是景天,今天我们探讨下seaborn根据分类数据类绘图的方法 用分类数据绘图 数据集中的数…

【前端模板】bootstrap5实现高端手表网页Chrono(适用电商,附带源码)

一、需求分析 高端手表网页是指专门销售高端手表的在线平台或网站。这些网页旨在向消费者展示和销售高级手表品牌的产品。以下是一些常见的功能: 产品展示:高端手表网页提供详细的产品页面,展示不同品牌和型号的高级手表。这些页面通常包括产…

Vim工具使用全攻略:从入门到精通

引言 在软件开发的世界里,Vim不仅仅是一个文本编辑器,它是一个让你的编程效率倍增的神器。然而,对于新手来说,Vim的学习曲线似乎有些陡峭。本文将手把手教你如何从Vim的新手逐渐变为高手,深入理解Vim的操作模式&#…

Python 数据分析(PYDA)第三版(一)

原文:wesmckinney.com/book/ 译者:飞龙 协议:CC BY-NC-SA 4.0 关于开放版本 第 3 版的《Python 数据分析》现在作为“开放获取”HTML 版本在此网站wesmckinney.com/book上提供,除了通常的印刷和电子书格式。该版本最初于 2022 年…

iOS应用提交上架的最新流程

摘要 本篇博客介绍了iOS应用程序上架的最新流程。包括上架基本需求资料、证书的创建和使用、测试设备的添加、描述文件的创建、打包、审核等步骤。 引言 在开发完iOS应用程序后,我们需要将其提交到App Store上架。然而,随着技术的不断发展,…

11.Ubuntu

目录 1. 什么是Ubuntu 1.1. 概述 1.2. Ubuntu版本简介 1.2.1. 桌面版 1.2.2. 服务器版 2. 部署系统 2.1. 新建虚拟机 2.2. 安装系统 2.3. 部署后的设置 2.3.1. 设置root密码 2.3.2. 关闭防火墙 2.3.3. 启用允许root进行ssh 2.3.4. 安装所需软件 2.3.5. 制作快照 …

vue3学习——mock数据

安装 pnpm install -D vite-plugin-mock mockjsvite.config.js 配置 import { defineConfig } from vite import vue from vitejs/plugin-vue import { viteMockServe } from vite-plugin-mockexport default defineConfig(({ command }) > {return {plugins: [vue(),vite…

三种pdf转ppt方法?学会这几招轻松搞定转换

三种pdf转ppt方法?在当今的工作和生活中,PDF和PPT这两种文件格式常常会让我们感到困扰。有时候我们需要将PDF文件转换成PPT格式,以便更好地进行演示或工作汇报。但是,如何快速、准确地完成这项任务呢?本文将为你揭秘三…

引流技术-通过文件中增加联系方式并传播

文章目录 前言文档增加联系方式扩散网盘扩散自建网站借力 注意 前言 很多人在找资料的时候可能都遇到过下图情况: 1、文档最后面留一个自己的联系方式; 2、找的一堆文件中都有相同的情况; 3、一段时间全网搜到的很多相同文件也有这个联系方式…

ffmpeg 输入文件,输入出udp-ts 指定pid、Programid ts流参数

要使用FFmpeg将输入文件转换为UDP传输流(TS)并指定特定的PID、Program ID以及其他TS流参数,您可以使用以下命令: ffmpeg -i input_file -c:v libx264 -preset ultrafast -tune zerolatency -f mpegts -map 0:v:0 -map 0:a:0 -pid …

洞察未来趋势,引领技术革新——2023年全球软件开发大会(QCon上海站)全景解析

在全球科技飞速发展的浪潮中,软件开发行业始终扮演着创新引擎的角色。 作为业界瞩目的年度盛会,2023年全球软件开发大会(QCon上海站)不仅是一场技术交流的嘉年华,更是一次洞察行业趋势、探索未来发展方向的重要平台。…

【Linux】vim的简单使用

我们知道在Windows下的VS2019是一个集成开发环境,也就是说,集编辑,编译,调试等功能都放在了一起;但是在Linux下,这些步骤都是分开的,我们这篇博客就来说一说vim这个编辑器,它只有编辑…

vit细粒度图像分类(十)TransFG学习笔记

1.摘要 细粒度视觉分类(FGVC)是一项非常具有挑战性的任务,它旨在从子类别中识别对象,这是由于类间固有的微妙差异。现有的大部分工作主要是通过重用骨干网络提取检测到的判别区域的特征来解决这一问题。然而,这种策略不可避免地使管道变得复…

搭建k8s集群实战(四)k8s node 资源管理、避免系统无响应

Kubernetes 的节点可以按照 Capacity 调度。默认情况下 pod 能够使用节点全部可用容量。 这是个问题,因为节点自己通常运行了不少驱动 OS 和 Kubernetes 的系统守护进程。 除非为这些系统守护进程留出资源,否则它们将与 pod 争夺资源并导致节点资源短缺问题,从而导致系统无响…

回溯法:回溯法通用模版汇总以及模版应用

从一个问题开始 给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合。 示例: 输入: n 4, k 2 输出: [ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4] ] 很容易想到 用两个for循环就可以解决。 如果n为100,k为50呢,那就50层for循…

Java中动态修改注解的值

1. 描述 部分场景需要动态修改注解的值。例如,我们使用自定义注解控制接口流量,如果需要动态修改流量值,可以使用反射的方法实现。 2. 步骤 获取注解从注解中获取memberValues属性(map)使用put方法更新对象的值 3. 代码实现 该部分代码主…

MySQL事务原理的分析

1.事务 并发连接下考虑事务。 事务的本质是并发控制的单元,是用户定义的一个操作序列。这些操作要么都做,要么都不做,是一个不可分割的工作单位。 事务控制语句 ACID特性 原子性:要么都做,要走么都不做。在事务执…

窗帘项目投标书:赢得合同的关键

窗帘项目投标书是在商业竞争激烈的市场中,展示公司实力、吸引客户目光,最终赢得合同的重要工具。一个精心编写的投标书不仅可以展示公司的专业素养和项目执行能力,还能突显出公司与众不同的竞争优势,为公司赢得更多商机。 1.投标…