主构造器和辅助构造器的细节|学习笔记

简介: 快速学习主构造器和辅助构造器的细节。

开发者学堂课程【Scala 核心编程-基础:主构造器和辅助构造器的细节】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/609/detail/8950


主构造器和辅助构造器的细节

 

内容简介

一、对之前所讲的进行版述

 

一、对之前所讲的进行版述

先把之前所讲的内容进行版述

首先讲了对构造器的介绍,其次讲了构造器的基本语法,然后讲了构造器的快速入门案例,之前在讲快速入门案例时,并没有详解,只是大概了解了以下,案例会放在笔记中;

再次讲了构造器的五个注意事项和细节,有以下内容:

1Scala 构造器作用是完成对新对象的初始化,构造器没有返回值

2、主构造器的声明直接放置于类名之后[反编译]

3、主构造器会执行类定义中的所有语句,代码中除了函数,其他都会被执行;

4、如果主构造器无参数,小括号可省略,构建对象时调用的构造方法的小括号也可以省略。如:

class AA{

}

val a = new AA

val b = new AA()

5、辅助构造器名称为 this(这个和 Java 是不一样的),多个辅助构造器通过不同参数列表进行区分,在底层就是构造器重载。里面有继承的逻辑,主要是对父类的构造逻辑。

接下来对剩下两个细节进行讲解。

6如果想让主构造器变成私有的,可以在()之前加上.private,在形参列表前加 Private 便可以了,这样用户只能通过辅助构造器来构造对象了【反编译】

代码设置:class Person2 private( ){}

7、辅助构造器的声明不能和主构造器的声明一致,会发生错误(即构造器名重复)。因为完全一样,代表着写了两个完全一样的方法,这样肯定是跑不起来的,虽然主构造器是主构造器,但反编译之后,地位跟辅助编译器是完全一样的。

举例:

在代码 class Person2 private( )中的括号里添加 str:string,写成 class Person2 private(str:string )代码,代码中的 this 部分便会被标红,这样写本就有了主构造器,然后添加的部分跟字符串没有不同,要想 this 部分不被报错,可以在 this 后面加上字符串,但是建议不要有这种做法,这样很容易导致构造器重名。

到这里,构造器的细节便结束了。

相关文章
|
5月前
|
存储 缓存 算法
淘宝API跨平台数据同步,多店管理一屏搞定!
商家多平台运营常面临库存、订单、数据分散难题。通过淘宝开放平台API构建数据中台,实现跨平台库存同步、订单统一处理与智能销售分析。结合智能算法与自动化流程,提升订单处理效率200%,降低人力成本40%,助力商家实现数字化经营,全面打破数据孤岛,提升运营效率与决策能力。
291 0
|
程序员
check sign Fail!或sign check fail: check Sign and Data Fail!-自查方案
一、报这个错大多都是支付宝公钥配置错误,不同环境的公钥是不同的,大家先确认自己的支付宝公钥获取是否正确:  1. 沙箱公钥【查看】 密钥生成可参照【如何生成RSA,RSA2密钥】  2. 开放平台密钥【查看】,已创建应用的,直接打开对应的应用进行查看, 创建应用可参照:【如何创建应用】 打开应用查...
2279 12
|
5月前
|
Linux 虚拟化 iOS开发
macOS Sonoma 14.7.7 (23H723) Boot ISO 原版可引导镜像下载
macOS Sonoma 14.7.7 (23H723) Boot ISO 原版可引导镜像下载
348 0
macOS Sonoma 14.7.7 (23H723) Boot ISO 原版可引导镜像下载
|
5月前
|
传感器 自然语言处理 资源调度
AR 交互与自动感应技术的博物馆智慧导览系统功能解析
本系统结合AR图像识别、自动感应与多语言资源管理,实现虚拟内容与文物精准叠加、自动讲解与智能导航,提升博物馆导览体验智能化、互动性。
533 1
|
4月前
|
编解码 JavaScript 前端开发
如何在网页播放英文的m3u8文件(基于Javascript搭建的在线网页工具)
什么是m3u8?又该如何在网页中高效、便捷地播放英文的m3u8文件呢?今天这篇文章就带你一起了解,并推荐一种基于Javascript搭建的在线网页工具,让你轻松解决播放问题。
962 0
|
5月前
|
安全 关系型数据库 Shell
ssh核心隧道类型(三大类)
SSH端口转发包括本地、远程和动态三种模式。本地转发将远程服务映射到本地,用于访问数据库或内网服务;远程转发将本地服务暴露到远程,适合临时公开开发环境;动态转发则建立SOCKS代理,实现安全上网或突破网络限制。每种模式均通过SSH隧道实现,保障通信安全。
|
11月前
|
弹性计算 运维 自然语言处理
|
10月前
|
前端开发 算法 Java
《通义灵码2.0体验感受》
《通义灵码2.0体验感受》
|
数据采集 机器人 计算机视觉
一手训练,多手应用:国防科大提出灵巧手抓取策略迁移新方案
【10月更文挑战第24天】国防科技大学研究人员提出了一种新颖的机器人抓取方法,通过学习统一的策略模型,实现不同灵巧夹具之间的策略迁移。该方法分为两个阶段:与夹具无关的策略模型预测关键点位移,与夹具相关的适配模型将位移转换为关节调整。实验结果显示,该方法在抓取成功率、稳定性和速度方面显著优于基线方法。论文地址:https://arxiv.org/abs/2404.09150
210 1