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