博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Scala学习第八天 Scala主构造器、私有构造器、构造器重载实战详解
阅读量:2200 次
发布时间:2019-05-03

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

信息来源于 DT大数据梦工厂微信公众账号:DT_Spark

DT大数据梦工厂群号:302306504王家林老师微信号:wangjialinandroid

内容:

1、Scala主构造器
2、构造器重载
3、私有构造器

一、Scala主构造器&构造器重载

(1)无参的主构造器
//定义Teacher类时,有个默认构造器Teacher(),是其主构造器,其他所有构造器都是他的重载构造器,任何一个重载构造器必须直接或间接调用主构造器

class Teacher {
var name : Sting = _ private var age 27 private[this] val gender = "male" def this(name : String){ this this.name = name } def sayHello{ println(this.name +":" + this.age + ":" + this.gender) }}object OOPInScala{
def main(args: Array[String]{ Val p = new Teacher //使用主构造器 p.name="Spark" p.sayHello}

(2)有参的类构造器

class Teacher(val name : String,val age : Int){  println("This is the primary constructor!!!")  var gender : String = _  println(gender)  def this(name : String,age : Int,gender : String){  this(name,age)  this.gender = gender  }}def main(args: Array[String]{  Val p = new Teacher("Spark",5)//使用主构造器  println(":"+p.age)  val p=new Teacher("Spark",5,"mail") //使用重载构造器   println(":"+p.age)}

二、私有构造器

//有时候,为了不想使用者使用默认构造器,我们可以将类的主构造器设为private

class Teacher private(val name : String,val age : Int){
println("This is the primary constructor!!!") var gender : String =_ println(gender) def this(name : String,age : Int,gender : String){ this(name,age) this.gender = gender }}object OOPInScala{
def main(args: Array[String]{ val p = new Teacher("Spark",5)//这时候使用主构造器就会报错,类的主构造器为私有,不能被调用 println(":"+p.age) val p=new Teacher("Spark",5,"mail") //使用重载构造器 println(":"+p.age)}

Scala 深入浅出实战经典(1-64讲)完整视频、PPT、代码下载:

百度云盘:

腾讯微云:

360云盘: 访问密码 45e2

Scala视频及其更新和其他资料(Spark公开课、安卓基础、移动互联网)下载:
百度云盘:

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

你可能感兴趣的文章
深入理解JVM虚拟机6:深入理解JVM类加载机制
查看>>
深入了解JVM虚拟机8:Java的编译期优化与运行期优化
查看>>
深入理解JVM虚拟机9:JVM监控工具与诊断实践
查看>>
深入理解JVM虚拟机10:JVM常用参数以及调优实践
查看>>
深入理解JVM虚拟机11:Java内存异常原理与实践
查看>>
深入理解JVM虚拟机12:JVM性能管理神器VisualVM介绍与实战
查看>>
深入理解JVM虚拟机13:再谈四种引用及GC实践
查看>>
Spring源码剖析1:Spring概述
查看>>
Spring源码剖析2:初探Spring IOC核心流程
查看>>
Spring源码剖析3:Spring IOC容器的加载过程
查看>>
Spring源码剖析4:懒加载的单例Bean获取过程分析
查看>>
Spring源码剖析5:JDK和cglib动态代理原理详解
查看>>
Spring源码剖析6:Spring AOP概述
查看>>
Spring源码剖析7:AOP实现原理详解
查看>>
Spring源码剖析8:Spring事务概述
查看>>
Spring源码剖析9:Spring事务源码剖析
查看>>
重新学习Mysql数据库1:无废话MySQL入门
查看>>
探索Redis设计与实现2:Redis内部数据结构详解——dict
查看>>
探索Redis设计与实现3:Redis内部数据结构详解——sds
查看>>
探索Redis设计与实现4:Redis内部数据结构详解——ziplist
查看>>