专题 类的层级

Any : Scala中,所有类的超类

Any中定义的方法如下:

final def ==( that: Any ): Boolean       // 与equals意义总是相同,不可重写

final def !=( that: Any ): Boolean        // 与equals意义总是相同,不可重写

def equals( that: Any ): Boolean

def hashCode: Int                             // 做散列

def toString: String                          // 做格式化

(1)Scala中的所有对象都具有上述5种方法。

(2)Scala中,final的说明:

-- 修饰类:该类不能被继承;

-- 修饰字段、方法:字段、方法不能被重写;

(3)Any中,可以通过重写equals方法重新定义==和!=;

AnyVal : Scala中,每个内建值类的父类

Byte、Short、Char、Int、Long、Float、Double、Boolean

(1)对应Java的基本类,它们的值在运行时表示成Java的基本类型的值;

(2)类的实例均以字面量形式存在,不可new,因为值类被定义为既是抽象的,又是final的;

(3)值类型间是平行的,不存在继承关系;

Unit

(1)对应Java中的void,用于不返回任何有趣结果的方法的结果类型,它是由一个实例值,记作()

AnyRef : Scala中,所有引用类的基类

(1)在java平台中,AnyRef实则是类java.lang.Object的别名,因此可以认为java.lang.Object是Java平台上实现AnyRef的方式;

尽管在Java平台上的Scala程序里,Object和AnyRef可交换,但推荐风格是使用AnyRef,因为在设计时,Scala也可以在.Net

工作,而AnyRef是System.Object的别名,因此使用AnyRef是最通用的。

(2)Scala class 和 Java class 的区别:Scala class 还继承了ScalaObject,目的是通过其包含的Scala编译器定义和实现的方法让

Scala程序的执行效率更高。

Nothing:Scala中,所有类的子类

时间: 2024-08-25 10:19:34

专题 类的层级的相关文章

java一个对象赋值给另一个对象,支持平铺类和层级类间的互转

场景:将一个层级类对象(领域驱动model对象)转换为平铺类对象(view) src对象,(红框为子对象) target对象(平铺对象) 代码思路,先递归反射遍历出所有字段,存到一个map里,再递归赋值给target对象 缺陷:不同子对象间的同名字段会被覆盖成一个值 代码 private static void getSrcALLFieldMap(Object obj,Map<String,Object> collectMap){ Class srcClazz = obj.getClass()

电商商品中心类目体系

淘宝目前在线商品数超过 10 亿,如何精准的帮助用户找到他想要的商品呢?经过多年的探索,淘宝通过建立一套完整的类目属性体系,终于较好的解决了这一问题,今天就跟大家一起来谈谈淘宝的类目属性体系. ▍一点点历史和架构 2003 年淘宝刚上线时,商品量很少,没有分类. 后来,商品量上百,开始有了对商品进行单级分类,有点类似于现在的一级行业类目. 等到商品上万的时候,商品的单级分类已经不能满足需求,开始有了多级分类,就是一颗类目树了.从 06 年开始引入了属性,商家按照属性模板填写属性,用户可以按照属性

Python之面向对象与类

本节内容 面向对象的概念 类的封装 类的继承 类的多态 静态方法.类方法 和 属性方法 类的特殊成员方法 继承层级关系中子类的实例对象对属性的查找顺序问题 一.面向对象的概念 1. "面向对象(OOP)"是什么? 简单点说,"面向对象"是一种编程范式,而编程范式是按照不同的编程特点总结出来的编程方式.俗话说,条条大路通罗马,也就说我们使用不同的方法都可以达到最终的目的,但是有些办法比较快速.安全且效果好,有些方法则效率低下且效果不尽人意.同样,编程也是为了解决问题,

快学Scala第14章----模式匹配和样例类

本章要点 match表达式是一个更好的switch,不会有意外掉入到下一个分支的问题. 如果没有模式能够匹配,会抛出MatchError.可以用case _ 模式来避免. 模式可以包含一个随意定义的条件,称作守卫. 你可以对表达式的类型进行匹配:优先选择模式匹配而不是isInstanceOf/asInstanceOf. 你可以匹配数组.元组和样例类的模式,然后将匹配到的不同部分绑定到变量. 在for表达式中,不能匹配的情况会被安静的跳过. 样例类继承层级中的公共超类应该是sealed的. 用Op

电商类网站类目体系

淘宝目前在线商品数超过 10 亿,如何精准的帮助用户找到他想要的商品呢?经过多年的探索,淘宝通过建立一套完整的类目属性体系,终于较好的解决了这一问题,今天就跟大家一起来谈谈淘宝的类目属性体系. ▍一点点历史和架构 2003 年淘宝刚上线时,商品量很少,没有分类. 后来,商品量上百,开始有了对商品进行单级分类,有点类似于现在的一级行业类目. 等到商品上万的时候,商品的单级分类已经不能满足需求,开始有了多级分类,就是一颗类目树了.从 06 年开始引入了属性,商家按照属性模板填写属性,用户可以按照属性

漫谈UML

什么是设计模式(Design Patterns)?在开发中,某个问题其实在另一个场合也遇到到,某个解决方法其实在另一个系统也曾经使用过,这就是模式产生的根源. 所谓模式,有一个比喻非常贴切:武术套路.从没有模式,到学习模式,到掌握模式,最后真正领悟模式,融汇贯通做到"无招胜有招",这也是程序员成长的过程,是程序员经验的浓缩. 在我们的开发中经常需要用到别人写的代码,包括优秀的框架和各种第三方类库,这些优秀的源码通常都会使用合理的设计模式进行设计,因此,学习设计模式,可以更容易的钻研源码

设计原则之里氏代换原则

设计原则之里氏代换原则 substitute  = replace 替换 sub 下 st石头 i我  tu土 te特别 我用石头替换下土,造了特比坚固的房子 hierarchy  ['harɑk] = level 等级 hi海豹  er儿子  ar are是  ch成龙 海豹儿子的雷霆战机等级是比成龙高 derive [di'raiv]  起源,派生 de德国  rive river河 德国的莱茵河起源于阿尔卑斯山 动机:         当我们创建类的层级(继承),我们继承一些类,创建一些派

JAVA8永久代

在Java虚拟机(以下简称JVM)中,类包含其对应的元数据,比如类的层级信息,方法数据和方法信息(如字节码,栈和变量大小),运行时常量池,已确定的符号引用和虚方法表. 在过去(当自定义类加载器使用不普遍的时候),类几乎是“静态的”并且很少被卸载和回收,因此类也可以被看成“永久的”.另外由于类作为JVM实现的一部分,它们不由程序来创建,因为它们也被认为是“非堆”的内存. 在JDK8之前的HotSpot虚拟机中,类的这些“永久的”数据存放在一个叫做永久代的区域.永久代一段连续的内存空间,我们在JVM

权重6老站SEO诊断,我的网站突破口在哪里?

SEO在中国互联网起步不足十年,当下SEO市场混象横生.门派体系混乱,一个短期的SEO培训收费一万八,一个不足10页内容的网站SEO诊断收费破两万,这些都反映出SEO在国内曾经如何疯狂扩张. 如今2016快要到来,SEOer也从野蛮生长的年代也逐渐转变成团队式精耕细作,SEO行业也在趋向科学和平稳.说到曾经昂贵的的SEO诊断,近期比较火的也就是百度招募SEO诊断师了,这次活动是是百度站长平台自行招募站点,和招募诊断师进行网站SEO层面的诊断,现在诊断师已把作品上传平台(地址http://bbs.