Scala面向对象

Scala面向对象
◆面向对象概述
◆抽象类
◆类的定义与使用
◆伴生类和伴生对象
·构造器
◆apply
◆继承与重写
◆case class

类定义、占位符(_)
private [this]
//只有本类才能访问,伴生对象也可以访问
private var age = 120
//只有本类才能访问,伴生对象访问不到
private [this] val gender = “男”

主构造器和副构造器

class Obj(val name:String, val age:Int) {
  def this (sex: String) {
    this("name", 13)
    println(sex)
  }
}

继承

class Obj2() {
  val name:Int = 123
  val age:Int = 2
}

class Obj3(override val name: Int) extends Obj2 {
  def this() = {
    this(12)
  }
}

重写

override def toString: String = name.toString

抽象

abstract class Obj4 () {
  val name:String = "name"
  val age:String = "age"
  val sex:String

  def print():Unit = println(name + age)

  def print2
}

伴生对象 Object Class
Object本身是个单例对象
对象() => 默认调用Object apply
类() => 默认调动Class apply
一般情况下在对象里面的apply new一个类对象

case class (不需要new 一般用于模式匹配)

println(UserEntity("小明", 23).name)
case class UserEntity(name:String, age:Int)

trait 如果需要继承多个 可以用trait修饰 然后后面带with

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值