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

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

开发者学堂课程【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 后面加上字符串,但是建议不要有这种做法,这样很容易导致构造器重名。

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

相关文章
|
6天前
类的实例化过程在ES6中是如何优化的?
类的实例化过程在ES6中是如何优化的?
|
编译器 C++
46 C++ - 非自动继承的函数
46 C++ - 非自动继承的函数
40 0
|
6月前
|
C++
C++:类的补充知识
C++:类的补充知识
35 0
|
6月前
|
监控 安全 Java
Java反射:深入了解动态类操作
Java反射:深入了解动态类操作
130 0
|
缓存 IDE API
C#反射与特性(五):主类型成员操作
C#反射与特性(五):主类型成员操作
391 0
C#反射与特性(五):主类型成员操作
|
安全 Java
创建对象的相关知识补充
创建对象的相关知识补充
62 0
|
Scala 开发者
覆写字段注意事项和细节说明2|学习笔记
快速学习覆写字段注意事项和细节说明2。
106 0
覆写字段注意事项和细节说明2|学习笔记
|
Java 编译器 Scala
主构造器和辅助构造器|学习笔记
快速学习主构造器和辅助构造器。
188 0
|
Java 程序员 编译器
覆写字段注意事项和细节说明1|学习笔记
快速学习覆写字段注意事项和细节说明1。
108 0
|
Java API
一网打尽“类”的初始化实例化知识点
之前说了类加载的过程,但是有的读者表示还是有些面试题还是答不来,所以今天就来总结下类加载、对象实例化方面的知识点/面试题,帮助大家加深印象。
142 0
一网打尽“类”的初始化实例化知识点
下一篇
无影云桌面