伴生类、伴生对象
伴生类
新建scala class
class Oop1 {
def showInfo():Unit ={
println("this is Oop1 class")
}
// def main(args: Array[String]): Unit = {
// val oop = new Oop1
// oop.showInfo()
// }
}
//必须在object内才能执行
object Oop1Test{
def main(args: Array[String]): Unit = {
val oop = new Oop1()
oop.showInfo()
}
}
伴生对象
apply可以省略new方法
object Oop1{
def apply(name: String, age: Int): Oop1 = new Oop1(name, age)
//上面这条是伴生对象
def main(args: Array[String]): Unit = {
//直接写 Oop1("cp",18) 然后输入.var,就会自动生成
val cp = Oop1("cp", 18)
//类似于
val oop1 = new Oop1("cp", 18)
}
}
封装、继承
创建汽车抽象类
class BMW extends Car with Balance {
override def brand: String = {
println("BMW X6")
"宝马高端 X6"
}
override def engine: String = {
println("燃油涡轮增压")
"燃油5T"
}
}
特质
trait Balance{
def balance:String
}
引用特质
class BMW extends Car with Balance {
override def brand: String = {
println("BMW X6")
"宝马高端 X6"
}
override def engine: String = {
println("燃油涡轮增压")
"燃油5T"
}
override def balance: String = {
println("独立悬挂")
"独立悬挂"
}
}
object TestCar{
def main(args: Array[String]): Unit = {
val bmw = new BMW
bmw.balance
}
}