下边界
scala> class Father(val name:String)
defined class Father
scala> class Child(name:String) extends Father(name)
defined class Child
scala> :paste
// Entering paste mode (ctrl-D to finish)
def getIdCard[R >: Child](p :R){
println(p.getClass)
if(p.getClass == classOf[Child]) println("please tell us your father's name")
else if(p.getClass == classOf[Father]) println("pleanse tell us your child's name")
else println("sorry you can't get this Idcard")
}
// Exiting paste mode, now interpreting.
getIdCard: [R >: Child](p: R)Unit
scala>
scala> val f = new Father("fa")
f: Father = Father@5ec88f9e
scala> val c = new Child("ch")
c: Child = Child@b5d9f1e
scala> getIdCard(f)
class $line3.$read$$iw$$iw$Father
pleanse tell us your child's name
scala> getIdCard(c)
class $line4.$read$$iw$$iw$Child
please tell us your father's name
scala> getIdCard("dd")
class java.lang.String
sorry you can't get this Idcard
相关推荐
### Scala学习笔记(全) #### 一、Scala概述与特点 Scala是一种多范式的编程语言,旨在集成面向对象编程和函数式编程的各种特性。它运行于Java平台(Java虚拟机JVM),并且能够完全兼容所有的Java程序。这使得Scala...
在"Scala-学习资料-mht.rar"这个压缩包中,包含了关于Scala的学习资料,格式为MHT(单一文件网页),这种格式通常用于保存完整的网页内容,包括文本、图像和样式表。 首先,我们来了解一下Scala的基础知识。Scala这...
7. **类型系统**:Scala具有复杂的类型系统,包括类型参数化(Generics)、类型推导、类型别名、类型成员、隐式转换等。这些特性使得Scala在编写泛型代码和高级类型操作时具有很高的灵活性。 8. **模式匹配**:...
### Scala学习笔记关键知识点 #### 1. “均码”哲学与并发编程 - **“均码”哲学**: 指的是Scala设计时遵循的一种设计理念,即尽量保持语言的统一性和简洁性,使得不同的功能和特性能够以一种相似的方式进行处理。...
同时,还会涉及类型系统,包括类型推断、类型别名和类型参数化。这部分内容对于提升编程效率和代码质量至关重要。 第四部分:"Scala入门及进阶-part04-Akka Actor.pdf" 专注于Scala与Akka框架的集成,Akka是用于...
Scala中的类型系统支持类型参数化,即泛型,允许开发者创建通用的代码。 #### 字符串 Scala支持两种类型的字符串:`String`和`StringBuilder`。`String`是不可变的,而`StringBuilder`则是可变的。此外,Scala还...
以上内容覆盖了 Scala 编程语言的核心知识点,从基本语法到高级特性,为初学者提供了一个全面的学习指南。Scala 是一门功能强大且灵活的语言,适合于构建大型的、复杂的软件系统。希望这些知识点能够帮助读者更好地...
### Scala的操作笔记 #### 一、课程目标与学习路径 本课程旨在通过三个阶段的目标来逐步深入学习Scala语言,最终能够灵活运用Scala进行Spark程序的开发,并具备阅读Spark内核源码的能力。 - **初级目标**:掌握...
Scala的类型系统十分强大,包括类型推断、类型参数、隐式转换等特性。深入理解这些内容有助于编写出更加简洁和安全的代码。 9. **Option类型** Option是Scala处理null安全的方式,避免了常见的空指针异常。学会...
下面是 Scala 初学者入门课程笔记的总结: 环境搭建 在开始学习 Scala 之前,需要先搭建环境。Scala 的官方网站提供了 Scala SDK 的下载地址,可以选择适合自己操作系统的版本。另外,还需要下载 Idea 的 Scala ...
- Scala是强类型语言,变量声明时必须指定类型,但可以使用类型推断简化编写。 - `val`用于声明不可变变量,`var`用于声明可变变量。 - 类型系统包括基本类型(如Int, Double, Boolean)和引用类型(如类、接口)...
飞翔的小鸟java源码我的Scala笔记 我的 Scala 笔记,因为我需要将它们存储在某个地方... 类型 Scala 程序中的每个变量和表达式都有一个在编译时已知的类型: // a literal value has a type: scala > 1 res0: Int = ...
【标题】:“Flink学习详细笔记” 【描述】:这篇笔记涵盖了Flink的基础概念,包括数据源读取、数据处理算子,特别是时间窗口和CEP算子的讲解,旨在帮助初学者从零开始踏入数据分析领域。 【标签】:“cep 算子” ...
Scala是一种强大的、面向对象的编程语言,它集成了函数式编程的特点,被广泛应用于大数据处理、分布式计算...通过学习,你可以掌握如何在Scala项目中有效地利用函数式编程的力量,编写出高效、可维护和类型安全的代码。
《Scala 急救手册笔记》 Scala是一种多范式的编程语言,它融合了面向对象和函数式编程的特点,被广泛应用于大数据处理、并发系统以及现代软件开发中。本笔记主要基于《Scala Impatient》这本书,旨在帮助读者快速...
10. 泛型:支持泛型,允许定义类型参数化的类和方法。例如: ```scala def genericMethod[T](arg: T): T = arg ``` 11. 类型别名:创建新的类型名称,如`type MyInt = Int`。 六、集合库 12. 集合API:Scala提供了...
下面,我们将深入探讨Scala的一些核心概念和特性。 首先,Scala的基础语法与Java类似,但它提供了更简洁的表达方式。例如,类定义可以使用`class`关键字,但Scala也支持特质(trait),这是一种轻量级的接口实现...
"scala-notes"可能是一个关于Scala编程的学习笔记或者教程集合,而"scala-notes-master"可能代表这是该资料的主目录或者最新版本。 在Scala中,你将学习到以下关键概念: 1. **类型系统**:Scala有强大的静态类型...
通过`--master`参数设置集群URL,`--jars`参数添加JAR到类路径,`--packages`参数引入Maven坐标依赖,而`--repositories`参数可以指定额外的Maven仓库地址。 总的来说,Spark 2.1.0提供了一套完整的工具和接口,使...
总结,本Scala笔记Markdown版本涵盖了从语言基础到集合操作的重要内容,适合初学者入门和有经验的开发者巩固知识。通过学习,开发者将能够掌握Scala的核心特性和编程技巧,从而更好地利用Scala进行后端开发。