Kotlin文件和类为什么不是一对一关系

news2024/11/26 5:36:31

在Java中,一个类文件的public类名必须和文件名一致,如何不一致就会报异常,但是在kotlin的文件可以和类名一致,也可以不一致。这种特性,就跟c++有点像,毕竟c++的.h 和 .cpp文件是分开的。只要最终编译的时候对的上,文件名就并不那么重要了

比如:

这样做的意义在于:

如果有很多个行数很短的类:在java中可能要占用大量的文件个数(Java中可以用内部类的形式解决),kotlin中则可以把这些类都放到同一个kt文件中,不用内部类也能解决。

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

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

相关文章

工业相机基本知识理解:工业相机IO接口,功耗和供电方式

I-input 相机接收外部信号,可用于触发相机(硬触发),也可用于定制不同的 功能,例如使用不同信号宽度来改变相机的曝光时间。主要用于现场设 备控制相机使用,常常配合各种传感器使用 O-output 相机输出信号&a…

MS1112,一款16-bit 多输入内置基准模数转换器

MS1112 是一款高精度 16bit 模数转换器,具有 2 组差分输入 或 3 组单端输入通道,高达 16bits 的分辨率。内部集成 2.048V 基 准源,差分输入范围达到 2.048V 。 MS1112 使用了 I 2 C 兼容接口, 并有 2 个地址管…

【Java 进阶篇】JSTL 详解

Java JSTL(JavaServer Pages Standard Tag Library)是用于简化在 JSP 页面上的开发工作的 Java 标签库。它提供了在 JSP 页面上使用的标准标签,可以帮助开发人员更轻松地访问和操作数据,而无需编写大量的 Java 代码。Java JSTL 是…

ros1 自定义topic 主题的发布,监听以及和消息体的定义

1. 在功能包下新增msg 文件夹 在功能包的下面新建 msg 文件夹,如下图所示 2. 新增Person.msg 消息实体 右键打开命令框,输入 touch Person.msg 就会在msg 目录下新增 Person.msg 文件 在Person.msg中输入如下内容完成.msg文件的创建,msg文…

【Leetcode】【每日一题】【简单】2609. 最长平衡子字符串

力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/find-the-longest-balanced-subs…

【Java】基于SpringBoot创建Web页面并热更新

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍基于SpringBoot创建Web页面并热更新。 学其所用,用其所学。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下,下…

在微信小程序中怎么实现报名功能

在当今数字化时代,微信小程序已经成为各行各业进行营销和客户管理的必备工具。其中,报名功能作为微信小程序的一个重要应用场景,为企业或组织提供了方便、高效、实时的数据收集与管理方式。本文将为你详细介绍如何在微信小程序中实现报名功能…

shm4mn.dll没有被指定

每次打开excel,都会弹出提示“shm4mn.dll没有被指定” 网上各种方法都试了一次,没效果 解决方案: 直接在设置中删除所有添加的打印机

基于斑马算法的无人机航迹规划-附代码

基于斑马算法的无人机航迹规划 文章目录 基于斑马算法的无人机航迹规划1.斑马搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要:本文主要介绍利用斑马算法来优化无人机航迹规划。 1.斑马搜索算法 …

查看apk签名

cmd 命令: keytool -v -list -keystore "E:\xxx\release.jks"

01MyBatisPlus入门案例,常见注解,常用配置

一、入门案例 需求:基于课前资料提供的项目,实现下列功能: 新增用户功能根据id查询用户根据id批量查询用户根据id更新用户根据id删除用户 1.引入MybatisPlus的起步依赖 MybatisPlus官方提供的starter,其中集成了Mybatis和Myba…

Navicat16连接不上mysql

博主是因为服务里MySQL没启动, 如果确定自己的数据库正确无误的朋友就可以退出寻找其它解决办法了。 如图,一打开navicat就初始化,啥都没有,也连接不上 1,搜索里搜【服务】找到MySQL, 发现MySQL未启动。点击…

Map(关联数组)和Set(集合)

目录 Map和Set是用来专门查找的数据结构,查找效率非常高 Map是key-value模型(对应了两个东西) Set是纯key模型(只对应i一个东西) Map的使用 Map的方法 Map的put()方法 Map的get()方法 Map的getOrdefault()方法 Map的keySet()方法 Map的entrySet()方法 Entry是Map的内部接口类​…

OpenAI开发者大会掀起风暴:GPT模型价格狂降50%,应用商店即将亮相,AI技术将引爆全球!

OpenAI首届开发者大会召开了! 关键信息: GPT-4升级版GPT-4 Turbo来了,上下文窗口达到128k,为GPT-4的4倍;OpenAI还降低了几乎所有模型的API使用价格,整体便宜了一半多;GPT-4系列的多模态能力向B…

OAuth2.0双令牌

OAuth 2.0是一种基于令牌的身份验证和授权协议,它允许用户授权第三方应用程序访问他们的资源,而不必共享他们的凭据。 在OAuth 2.0中,通常会使用两种类型的令牌:访问令牌和刷新令牌。访问令牌是用于访问资源的令牌,可…

关于Python hydra库(OmegaConf)(yaml)

这为博友介绍的很清晰,就给大家引荐一下: Python hydra库(OmegaConf)(yaml)_hxxjxw的博客-CSDN博客 安装Python hydra-core我遇到的问题: which pip 确实是虚拟环境(pytorch_gpu) 依然报错 :ModuleNotF…

字节8年经验之谈 —— 如何从0开始做自动化测试?

自动化测试是使用软件工具在应用程序上自动运行测试的过程,无需任何人为干预。这可以通过减少手动测试的需要来保存时间并提高软件开发过程的效率。由于人为错误或不一致性,手动测试可能容易出错,这可能导致错误未被检测到。自动化测试通过提…

Jenkins 部署.net core 项目 - NU1301错误

/root/.jenkins/workspace/householdess/services/host/fdbatt.monitor.HttpApi.Host/fdbatt.monitor.HttpApi.Host.csproj : error NU1301: 本地源“/root/.jenkins/workspace/householdess/​http:/x.x.x.x:9081/repository/nuget.org-proxy/index.json”不存在。 [/root/.je…

uni-app多端开发

uni-app 多端开发 一、命令创建uni-app 项目二、在微信小程序后台找到 appId 填写 appId三、运行项目四、使用 uni-ui4-1、下载4-2、自动导入4-3、ts项目下载类型校验 (uni-ui 组件库)4-3-1、下载4-3-2、配置 五、持久化 pinia六、数据请求封装七、获取组…

【FastCAE源码阅读6】C++与Python的集成,实现相互调用

分析FastCAE代码之前先看看C与Python如何相互调用的。 一、C调用Python 先写个C调用Python的例子&#xff0c;然后再来看FastCAE集成Python就比较简单了。直接上代码&#xff1a; #include <iostream> #include "python.h"int main() {Py_Initialize();PyRu…