Scala快速入门--匿名内部类
Posted 一只楠喃
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scala快速入门--匿名内部类相关的知识,希望对你有一定的参考价值。
匿名内部类
匿名内部类的本质
- 一个没有名字的类,自动构建一个类继承抽象类或者接口,实现可以new一个抽象类或者接口
匿名内部类的定义语法
val 变量名称 = new 抽象类/Trait{
//重写属性或者方法
}
- 直接new一个抽象类或者Trait的子类,重写方法后将对象赋值给一个变量
匿名内部类的实现
abstract class Person05 {
//具体的属性
// var name:String = "itcast"
// var age:Int = 20
//抽象的属性
var name:String
var age:Int
//具体的方法
// def sayHello = println("Hello,Person ~")
//抽象的方法
def sayHello
}
//如果多次构建这个类的实例
class Stduent05 extends Person05 {
override var name: String = "student"
override var age: Int = 18
override def sayHello: Unit = println("Hello,Student ~")
}
object TestStudent05{
def main(args: Array[String]): Unit = {
//正常通过构建子类的实例,来实现对抽象类的使用
val student = new Stduent05
student.sayHello
//通过匿名内部类实现new 抽象类:一般用于临时的使用一次抽象类或者接口的方法
val person = new Person05 {
override var name: String = "heima"
override var age: Int = 10
override def sayHello: Unit = println("Hello, Person ~")
}
person.sayHello
}
}
点个赞嘛!
以上是关于Scala快速入门--匿名内部类的主要内容,如果未能解决你的问题,请参考以下文章