引入:当我们对一个实现了抽象类的子类我们只需要调用一次的时候我们可以直接使用匿名类 一.我们得明白如何声明一个抽象类,抽象方法,抽象属性 1.使用abstract来声明一个抽象类 2.不对属性进行初始化赋值,就是申明一个抽象属性 3.不写方法体就是在声明一个抽象方法 二.我们得明白如何定义一个匿名子类 1.见下面代码 2.值得注意的是 override可写可不写,以及抽象方法如果没有声明具体返回值,那么子类实现的返回值类型自定义
三.代码实现
package edu.lulu.oop.chapter6 // 实现scala中的匿名子类 // 引入:当我们对一个实现了抽象类的子类我们只需要调用一次的时候我们可以直接使用匿名类 // 一.我们得明白如何声明一个抽象类,抽象方法,抽象属性 //1.使用abstract来声明一个抽象类 //2.不对属性进行初始化赋值,就是申明一个抽象属性 //3.不写方法体就是在声明一个抽象方法 // 二.我们得明白如何定义一个匿名子类 // 1.见下面代码 // 2.值得注意的是 override可写可不写,以及抽象方法如果没有声明具体返回值,那么子类实现的返回值类型自定义 object Test08 { def main(args: Array[String]): Unit = { var a = new Animal { override def cry(): String = { println("呜呜呜,,,,,,") "LALAALA" } override var name: String = "WANGLULU" } a.cry() } } // 定义一个抽象类 abstract class Animal{ var name:String def cry() }