1. 继承

1.1. 扩展类

在Scala中扩展类的方式和Java一样都是使用extends关键字

1.2. 重写方法

在Scala中重写一个非抽象的方法必须使用override修饰符

1.3. 类型检查和转换

Scala Java
obj.isInstanceOf[C] obj instanceof C
obj.asInstanceOf[C] (C)obj
classOf[C] C.class

1.4. 超类的构造

package cn.toto.scala.day2/*** trait相当于是Java8中的接口实现*/
trait Flyable {//这里不是抽象的,因为它已经实现了def fly() : Unit = {println("I can fly")}//这里相当于是抽象类def fight() : String
}//定义一个抽象类
abstract class Animal {def run() : Intval name : String
}//继承类使用extend,实现接口使用with
class Human extends Animal with Flyable {val name = "abc"//在Scala中重写一个非抽象方法必须用override修饰override def fight(): String = {"fight"}//在子类中重写超类的抽象方法时,不需要使用override关键字,写了也可以def run(): Int = {1}//打印几次"AVC"val t1,t2,(a,b,c) = {println("ABC")(1,2,3)}
}

Scala类的继承,抽象类定义,接口定义相关推荐

  1. JDK中提供的实现——通过 java.util.Observable 类和 java.util.Observer 接口定义了观察者模式,只要实现它们的子类就可以编写观察者模式实例

    JDK中提供的实现 在 Java 中,通过 java.util.Observable 类和 java.util.Observer 接口定义了观察者模式,只要实现它们的子类就可以编写观察者模式实例. 1 ...

  2. abstract类_012 JAVA 抽象类、接口、String类的基础了解

    1.抽象方法和抽象类 抽象方法:使用abstract修饰的方法,没有方法体,只有声明.抽象方法可以当做是一种规范,让子类必须实现. 注意: 1.抽象方法没有方法体,只能以分号结尾 2.抽象方法只能声明 ...

  3. Java 类和对象——抽象类、接口、Object类

    本文章继续来介绍类和对象的知识.重点介绍抽象类和接口,Object类只做简单介绍. 现在,定义一个Shape类(形状类),当不同的对象去调用的时候,就会画出不同的图形,使用圆这个对象去调用,就会画出⚪ ...

  4. java学习笔记03-封装 继承 抽象类 多态 接口

    封装:在类的属性设置时 使用private将数据隐藏.不允许使用a.xingming来调用数据,可以设置get和set函数来对数据进行查看和修改(在其中添加if的判断语句来控制该参数的修改权限和读取权 ...

  5. java中演示类_java中抽象类与接口的图文演示

    java中抽象类与接口的图文演示 首先看图: 抽象方法: 没有方法体的方法.必须在与抽象类中.被abstract修饰的方法. 1.抽象类可以存在抽象方法,可以存在普通方法 2.抽象类不能实例化 3.抽 ...

  6. java中定义一个数学家类,java每日一练(19_04_06)|类、继承—— 抽象类

    名人名言 昨日翻译 When one door of happiness closes, another opens; but often we look so long at the closed ...

  7. Scala类的继承和抽象类

  8. Java声明定义抽象类_接口_继承_实现

    文章目录 声明定义抽象类 声明定义接口 派生类.抽象类.接口的继承要点 声明定义抽象类 public abstract class CRMSystem {public abstract Client ...

  9. Java继承与多态(抽象类和接口练习)定义抽象类Bank,它包含oneyearRate(一年定期利率)oneyearNationalbebt(一年国债利率)和CurrentDepositRate(按年

    定义抽象类Bank,它包含oneyearRate(一年定期利率)oneyearNationalbebt(一年国债利率)和CurrentDepositRate(按年计算的活期利率)三个利息率常数(分别为 ...

最新文章

  1. iOS开发之UIDevice通知
  2. 【Ovirt 笔记】JBoss modules 配置分析与整理
  3. 使用Android studio 运行react-native项目
  4. 怎么查看计算机的系统内存大小,Windows10系统怎么查看电脑内存大小
  5. Chromium OS 开源项目
  6. 微软要干掉ADOBE?
  7. a simple introduce to arontab
  8. c++ eos智能合约开发_hyperledger fabric 开发第一个智能合约
  9. 森林病虫防治系统 (十二)
  10. linux修改对外访问ip_linux 同一个ip 绑定两个不同的域名 访问两个不同的项目
  11. 安装protobuf
  12. c51步进电机程序汇编语言,51单片机驱动步进电机(汇编语言)
  13. Lnmp部署tp5项目报错:require(): open_basedir restriction in effect. File(/home/wwwroot/api.321.design/think
  14. 图片上传返回淘宝链接
  15. 给女朋友道歉的java代码_我用开源工具给女朋友写道歉信!
  16. 谈谈你对 Webpack 的理解
  17. 用python画笛卡尔心形线_05.总是套路得人心,如何用数学+Python示爱!
  18. UnrealEditor-RHI.dll 没有被指定在windows上运行
  19. SSM+微信小程序网易云音乐设计与实现 毕业设计-附源码261620
  20. 微信朋友圈里,微信群里的早报新闻简报都是哪里来的呢?

热门文章

  1. python常用模块(一)
  2. python使用ORM之如何调用多对多关系
  3. VTK:选择可见点用法实战
  4. boost::mpl模块实现remove_if相关的测试程序
  5. boost::math::quadrature::sinh_sinh用法的测试程序
  6. boost::math::tools::luroth_expansion用法的测试程序
  7. boost::lambda::bind用法的测试程序
  8. boost::hana::max用法的测试程序
  9. boost::graph模块实现读graph文件.dat的测试程序
  10. boost::geometry::sectionalize用法的测试程序