匿名子类
* 说明
* 1. 在为变量赋值(数据类型:抽象类/接口)时,直接定义抽象类/接口的实现(随用随定义)
* 语法
* var 变量名称:抽象类 = new 抽象类 { 抽象类/接口的实现 }
/**
* @author gaocun
* @create 2021-10-25 4:31 PM */
object 匿名子类_10 {
/*
* 匿名子类
* 说明
* 1. 在为变量赋值(数据类型:抽象类/接口)时,直接定义抽象类/接口的实现(随用随定义)
* 语法
* var 变量名称:抽象类 = new 抽象类 { 抽象类/接口的实现 }
*
* */
}
package Outer10 {
// 定义抽象类
abstract class AbsClass {
// 抽象属性
val id: Int
// 抽象方法
def show
println("AbsClass - 主构造器")
}
// 测试类
object test10 {
def main(args: Array[String]): Unit = {
// 匿名子类
var obj: AbsClass = new AbsClass {
override val id: Int = 99
override def show: Unit = println("这是AbsClass的匿名子类")
println("AbsClass匿名子类 - 主构造器")
}
println(obj.id)
obj.show
}
}
}