博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Scala学习第十二天 Scala中的继承:超类的构造、重写字段、重写方法代码实战
阅读量:2200 次
发布时间:2019-05-03

本文共 904 字,大约阅读时间需要 3 分钟。

1、每个对象都有默认的toString方法,但是具体的每一个类的具体实现都不一样,所以这里用override重写

2、worker继承自Person1,是Person1的子类,Worker有三个参数:name,age,salary,其中salary被val限定,是worker的成员,传来的name,age同样要传递给父类的构造器

class Person1(val name : String, var age :Int){
println("The primary constructor of Person") val school = "BJU" def sleep = "8 hours" override def toString = "I am a Person1!" } class Worker(name : String, age : Int, val salary : Long) extends Person1(name, age){
println("This is the subClass of Person, Primary constructor of Worker") override val school = "Spark"//重写字段 override def toString = "I am a Worker!"+super.sleep //重写worker的toString,使用super调用子类的sleep方法 }

java中继承,首先是构造函数的要求,其次是用super调用。而scala就是继承使用参数,传递给子类的构造器,自动填充。

def main(args: Array[String]){  val w = new Worker("Spark",5,100000)  //先调用父类构造器,然后是子类构造器  println("School:"+w.school)  //调用重写字段  println("Salary:"+w.salary)  println(w.toString()) //调用重写方法

转载地址:http://yrrub.baihongyu.com/

你可能感兴趣的文章
怎样做情感分析
查看>>
用深度神经网络处理NER命名实体识别问题
查看>>
用 RNN 训练语言模型生成文本
查看>>
RNN与机器翻译
查看>>
用 Recursive Neural Networks 得到分析树
查看>>
RNN的高级应用
查看>>
TensorFlow-7-TensorBoard Embedding可视化
查看>>
轻松看懂机器学习十大常用算法
查看>>
一个框架解决几乎所有机器学习问题
查看>>
特征工程怎么做
查看>>
机器学习算法应用中常用技巧-1
查看>>
机器学习算法应用中常用技巧-2
查看>>
通过一个kaggle实例学习解决机器学习问题
查看>>
决策树的python实现
查看>>
Sklearn 快速入门
查看>>
了解 Sklearn 的数据集
查看>>
用ARIMA模型做需求预测
查看>>
推荐系统
查看>>
TensorFlow-11-策略网络
查看>>
浅谈 GBDT
查看>>