`

学习scala笔记--9 scala 继承 extends

 
阅读更多

 

 

 

 

scala 继承 extends   

 覆盖使用  override

 调用父类  super

 

 

 

 

scala> :paste

// Entering paste mode (ctrl-D to finish)

 

 

class Person

{

var name="tom"

def getName= name

}

 

 

class Student extends Person {

 var score = 0

 def getScore = score

 override def getName = "-----"+ super.getName

}

 

// Exiting paste mode, now interpreting.

 

defined class Person

defined class Student

 

 

scala> val s = new Student()

s: Student = Student@69cd1085

 

scala> s.getName

res0: String = -----tom

 

----------------------------------

 

 

isInstanceOf  and    asInstanceOf

 

scala> class Person

defined class Person

 

scala> class Student extends Person

defined class Student

 

scala> val p : Person = new Student()

p: Person = Student@29c1249a

 

scala> var s:Student = null

s: Student = null

 

scala> if( p.isInstanceOf[Student])  s= p.asInstanceOf[Student]

 

scala> s

res3: Student = Student@29c1249a

 

 

 

----------------------------------

 

 

scala> class Person

defined class Person

 

scala> class Student extends Person

defined class Student

 

scala> val p2:Person = new Student()

p2: Person = Student@3b32f0b4

 

scala> val p2:Person = new Student()

p2: Person = Student@3b32f0b4

 

scala> p2.isInstanceOf[Student]

res6: Boolean = true

 

scala> p2.getClass == classOf[Student]

res7: Boolean = true

 

--------- 注意这里的  false  ---------  注意这里和  isInstanceOf 的区别

scala> p2.getClass == classOf[Person]

res8: Boolean = false

 

scala> p2.isInstanceOf[Person]

res9: Boolean = true

 

 

----------------------------------

 

使用模式匹配进行类型判断

 

 

 

scala>  p2 match {

     | case per: Person => println("is person ")

     | case _ =>println("other class ") }

is person 

 

 

---------------------------------

分享到:
评论

相关推荐

    scala-parser-combinators-2.11-1.0.4-API文档-中文版.zip

    赠送jar包:scala-parser-combinators_2.11-1.0.4.jar; 赠送原API文档:scala-parser-combinators_2.11-1.0.4-javadoc.jar; 赠送源代码:scala-parser-combinators_2.11-1.0.4-sources.jar; 赠送Maven依赖信息...

    scala-parser-combinators_2.12-1.1.0-API文档-中英对照版.zip

    赠送jar包:scala-parser-combinators_2.12-1.1.0.jar; 赠送原API文档:scala-parser-combinators_2.12-1.1.0-javadoc.jar; 赠送源代码:scala-parser-combinators_2.12-1.1.0-sources.jar; 赠送Maven依赖信息...

    scala-compiler-2.11.8-API文档-中英对照版.zip

    赠送jar包:scala-compiler-2.11.8.jar; 赠送原API文档:scala-compiler-2.11.8-javadoc.jar; 赠送源代码:scala-compiler-2.11.8-sources.jar; 赠送Maven依赖信息文件:scala-compiler-2.11.8.pom; 包含翻译后...

    scala-intellij-bin-2016.3.9

    "scala-intellij-bin-2016.3.9"是针对Scala语言的一个特定版本的IntelliJ IDEA插件,该版本为2016.3.9。这个插件是专门为Scala开发者设计的,旨在提高他们在IntelliJ IDEA中的开发体验。 Scala是一种多范式编程语言...

    scala-parser-combinators_2.11-1.0.4-API文档-中英对照版.zip

    赠送jar包:scala-parser-combinators_2.11-1.0.4.jar; 赠送原API文档:scala-parser-combinators_2.11-1.0.4-javadoc.jar; 赠送源代码:scala-parser-combinators_2.11-1.0.4-sources.jar; 包含翻译后的API...

    scala-java8-compat_2.11-0.7.0-API文档-中英对照版.zip

    赠送jar包:scala-java8-compat_2.11-0.7.0.jar; 赠送原API文档:scala-java8-compat_2.11-0.7.0-javadoc.jar; 赠送源代码:scala-java8-compat_2.11-0.7.0-sources.jar; 赠送Maven依赖信息文件:scala-java8-...

    scala-compiler-2.11.12-API文档-中文版.zip

    赠送jar包:scala-compiler-2.11.12.jar; 赠送原API文档:scala-compiler-2.11.12-javadoc.jar; 赠送源代码:scala-compiler-2.11.12-sources.jar; 赠送Maven依赖信息文件:scala-compiler-2.11.12.pom; 包含...

    scala-intellij-bin-2019.1.9.zip

    这个"scala-intellij-bin-2019.1.9.zip"压缩包文件是为IntelliJ IDEA开发的一个Scala插件,适用于2019.1.x版本的IDEA集成开发环境。IntelliJ IDEA是一款广泛使用的Java开发工具,由于其优秀的代码补全、重构和调试...

    scala-java8-compat_2.11-0.7.0-API文档-中文版.zip

    赠送jar包:scala-java8-compat_2.11-0.7.0.jar; 赠送原API文档:scala-java8-compat_2.11-0.7.0-javadoc.jar; 赠送源代码:scala-java8-compat_2.11-0.7.0-sources.jar; 赠送Maven依赖信息文件:scala-java8-...

    scala-intellij-bin-0.41

    "scala-intellij-bin-0.41"是专门为IntelliJ IDEA设计的一个Scala插件,版本号为0.41,用于增强IDE对Scala语言的支持。 这个插件的安装和使用对于Scala开发者至关重要,因为它可以提供以下关键功能: 1. 语法高亮...

    scala-ide-plugin-eclipse

    scala eclipse插件.对应scala版本:2.10--2.11,对应eclipes版本:4.4--...update site:http://download.scala-ide.org/sdk/lithium/e44/scala211/stable/site 下载地址:http://scala-ide.org/download/current.html

    scala-intellij-bin-2018.3.2.zip

    scala-intellij-bin-2018.3.2.zip插件,亲测可用!!!scala-intellij-bin-2018.3.2.zip插件,亲测可用!!!scala-intellij-bin-2018.3.2.zip插件,亲测可用!!!

    scala-intellij-bin-2020.2.3.zip

    "scala-intellij-bin-2020.2.3.zip" 是一个包含IntelliJ IDEA的Scala插件的压缩包,特别针对Scala开发进行了优化。 该插件允许开发者在IntelliJ IDEA中高效地编写和调试Scala代码。以下是关于Scala和IntelliJ IDEA ...

    scala-intellij-bin-2019.2.20.zip

    "scala-intellij-bin-2019.2.20.zip"是IntelliJ IDEA的一个特定版本,其中包含了用于支持Scala编程的插件。这个版本是2019年2月发布的,可能包含了一些新特性、性能优化和已知问题的修复。由于官方下载速度可能较慢...

    scala-intellij-bin-2021.3.6.zip

    "scala-intellij-bin-2021.3.6.zip"是一个压缩包,包含了用于在IntelliJ IDEA中支持Scala开发的特定版本插件。 这个版本的Scala插件(2021.3.6)是为IntelliJ IDEA 2021.3系列构建的,它提供了丰富的功能,以帮助...

    scala-library-2.11.8-API文档-中文版.zip

    赠送jar包:scala-library-2.11.8.jar; 赠送原API文档:scala-library-2.11.8-javadoc.jar; 赠送源代码:scala-library-2.11.8-sources.jar; 赠送Maven依赖信息文件:scala-library-2.11.8.pom; 包含翻译后的API...

    scala-SDK-4.7.0-vfinal-2.12-linux.gtk.x86_64.tar.gz

    scala-SDK-4.7.0-vfinal-2.12-linux.gtk.x86_64.tar.gz scala-SDK-4.7.0-vfinal-2.12-linux.gtk.x86_64.tar.gz

    scala-compiler-2.12.7-API文档-中英对照版.zip

    赠送jar包:scala-compiler-2.12.7.jar; 赠送原API文档:scala-compiler-2.12.7-javadoc.jar; 赠送源代码:scala-compiler-2.12.7-sources.jar; 赠送Maven依赖信息文件:scala-compiler-2.12.7.pom; 包含翻译后...

    scala-xml_2.12-1.0.6-API文档-中文版.zip

    赠送jar包:scala-xml_2.12-1.0.6.jar; 赠送原API文档:scala-xml_2.12-1.0.6-javadoc.jar; 赠送源代码:scala-xml_2.12-1.0.6-sources.jar; 赠送Maven依赖信息文件:scala-xml_2.12-1.0.6.pom; 包含翻译后的API...

    scala-reflect-2.11.8-API文档-中英对照版.zip

    赠送jar包:scala-reflect-2.11.8.jar; 赠送原API文档:scala-reflect-2.11.8-javadoc.jar; 赠送源代码:scala-reflect-2.11.8-sources.jar; 赠送Maven依赖信息文件:scala-reflect-2.11.8.pom; 包含翻译后的API...

Global site tag (gtag.js) - Google Analytics