在Scala中扩展类的方式和Java一样都是使用extends关键字
1.类型检查和转换
Scala | Java |
---|---|
obj.isinstanceOf[C] | obj instanceof C |
obj.asInstanceOf[C] | ©obj |
classOf[C] | C.class |
2.超类的构造
package cn.itcast.scala object ClazzDemo { def main(args: Array[String]) { //val h = new Human //println(h.fight) } } trait Flyable{ def fly(): Unit ={ println("I can fly") } def fight(): String } abstract class Animal { def run(): Int val name: String } class Human extends Animal with Flyable{ val name = "abc" //打印几次"ABC"? val t1,t2,(a, b, c) = { println("ABC") (1,2,3) } println(a) println(t1._1) //在Scala中重写一个非抽象方法必须用override修饰 override def fight(): String = { "fight with 棒子" } //在子类中重写超类的抽象方法时,不需要使用override关键字,写了也可以 def run(): Int = { 1 } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。