(一)内部类的定义
(二)内部类的基本使用
(三)内部类的使用案例
(四)内部对象
(五)匿名类
(一)内部类的定义
定义在类或者对象内部的类称为内部类。
在类的内部有:属性,方法,类。
package level02
/*
内部类
*/
object O06 {
// 外部类
class Car() {
var wheel: Int = 3
def run(): Unit = {
println("run.....")
}
// 内部类
class Engin() {
val power: Int = 12
}
}
def main(args: Array[String]): Unit = {
val c1 = new Car();
var eng = new c1.Engin()
println(eng.power)
}
}
(二)内部类的基本使用
定义格式: class 类 { class 内部类 }
使用格式: new 类的实例.内部类()
package level02
/*
内部类
1. 格式:在一个类的里面,再写一个类
2. 作用:组织逻辑更加严谨;避免命名的冲突
*/
object O07 {
// 外部类
class Car() {
var wheel: Int = 3
// 私有成员
private var speed: Int = 0
def run(): Unit = {
println(s"当前速度为:${speed},run....")
}
// 内部类
class Engin() {
def acc(increment: Int): Unit = {
speed += increment
}
}
class AutoPark(){}
}
def main(args: Array[String]): Unit = {
val c1 = new Car();
// c1.speed // 私有属性不能访问
c1.run()
val en = new c1.Engin()
en.acc(10)
c1.run()
}
}