在scala下创建一个包名为org.scala.clazz ,创建scala类名为OOPInScala.scala ,并增加object OOPInScala
(图片上包明有误,应该是org.scala.clazz)
创建一个User类 并增加name和age字段
调用User类并执行
private[this]的使用
我们可以看到 gender属性是 inaccessible的,这样使用private[this]定义后的内容可以无法被外部使用了,这样启动很好的保护的作用了
类的构造器:
主构造器使用:
调用:
从上面运行的结果我们可以发现scala主构造器特点:
1、主构造器直接跟在类名后面,主构造器中的参数会被编译成类的字段
2、主构造器执行的时候会执行类中的所有不包含在方法体中的语句
如果我们把User主构造器中的 name前面的val去掉后,在运行下
我们可以发现报错信息为name字段不是一个User类的成员变量
因此我们能发现scala主构造器的第三个特点 3、主构造器函数的参数中没有用var 或者val去声明变量,那此时的变量是private[this]级别的,只能被类内部使用
附属构造器的使用:
1、附属构造器是使用this来声明的
2、附属构造器必须调用主构造器或者其他附属构造器
调用结果为:
相关推荐
### Scala入门知识点详解 #### 一、Scala简介与特点 **Scala**是一种融合了面向对象编程和函数式编程特性的现代编程语言。它被设计成一种可扩展的语言,旨在克服传统编程语言的一些限制,同时保持代码的简洁性和...
这将在当前目录下生成`.class`文件,可以使用`scala`命令执行它们。 ### 2.2 运行Scala程序 编译完成后,可以使用`scala`命令运行程序: ```bash scala -classpath . HelloWorld ``` 程序将输出"Hello, world!...
总之,"Scala入门精华讲义"是一份全面的学习资源,旨在引导初学者逐步掌握Scala的基础语法、面向对象编程特性以及在大数据处理中的应用。通过深入学习和实践,你将能够利用Scala的强大功能,开启大数据领域的探索之...
这份“资料-scala入门到精通.zip”压缩包显然是为初学者和有一定经验的开发者设计的,旨在帮助他们全面理解和掌握Scala语言。 Scala的基础知识包括: 1. **语法特性**:Scala的语法简洁而富有表现力,它引入了...
### Scala语言入门知识点详解 #### 一、Scala简介 Scala是一种多范式的编程语言,它融合了面向对象编程和函数式编程的特点。Scala语言的设计旨在提高代码的可读性和表达能力,同时保持高性能。Scala运行在Java平台...
Scala编程入门教材旨在引导初学者踏入Scala这一强大且多用途的编程语言的世界。Scala结合了面向对象编程(OOP)和函数式编程(FP)的特性,为开发者提供了丰富的工具来构建高效、可扩展的软件系统。以下是Scala编程...
04.Scala解释器 05.案例_做最好的自己 第二章 变量和数据类型 00.导学 01.输出语句和分号 02.Scala中的常量 03.Scala中的变量 04.字符串的定义 05.惰性赋值 06.标识符 07.数据类型 08.类型转换 09.值类型和String...
在Scala中,样例类(case class)是一个特殊类型的类,它配合伴生对象(companion object)使用。伴生对象中包含了apply和unapply两个重要方法。apply方法允许开发者直接通过类名来创建样例类的实例,而unapply方法...
- **类与对象**:Scala中的类通过`class`关键字定义,对象通过`object`关键字定义。类可以有构造方法和成员变量,对象是单例对象,可以直接调用其方法。 **3. Scala高级特性** - **函数与方法**:Scala中函数是...
### Scala入门知识点详解 #### 一、Scala简介与特点 Scala是一种高级编程语言,它能够与Java无缝对接,运行在JVM(Java虚拟机)之上。作为一种多范式语言,Scala支持面向对象编程和函数式编程。Scala的设计目标是...
通过这些资源,初学者可以逐步了解如何使用Scala编写Spark程序,包括如何创建SparkSession、加载数据、定义transformations和actions,以及如何使用DataFrame API进行复杂的数据操作。 此外,可能会涉及到的高级...
Scala编程详解:Actor入门 Scala中的Actor模型是其并发编程的核心机制,它是基于消息传递的并发模型,旨在解决多线程编程中常见的竞态条件、死锁等问题。Actor系统允许程序在安全的环境中并行运行,通过异步消息...
- 样例类(Case Class)的概念及其应用场景。 - 模式匹配(Pattern Matching)的介绍和应用实例。 ### 五、附加内容 - **附录A:UNIX和Windows下的Scala脚本** - 在不同操作系统中编写和运行Scala脚本的方法。 -...
1. 面向对象:Scala中的所有值都是对象,它使用类和特质(trait)来定义类和对象的行为,使其成为一个纯面向对象的语言。 2. 函数式编程:Scala支持函数式编程范式,其中函数被当作一等公民(first-class citizens...
在实际开发中,通常会使用`case class`来定义消息类型,这样可以让代码更具可读性和可维护性。 **示例:** ```scala case class StartMessage() case class StopMessage() class MyActor extends Actor { ...