匿名子类|学习笔记

简介: 快速学习匿名子类。

开发者学堂课程【Scala 核心编程-基础:匿名子类】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/609/detail/8981


匿名子类

 

目录:

一、介绍

二、java 中的匿名子类使用的问题

三、scala 匿名子类

 

一、介绍

和 java 一样,可以通过包含带有定义或重写的代码块方式来创建一个匿名的子类。这个子类是临时的。因为每次构建的东西可能是不一样的。在 java 里有一个抽象类方法,创建的时候,它会提示这种方式就是动态的。

 

二、java 中的匿名子类使用的问题

新建一个 NoNameDemo01选择 class

package com.atguigu.chaptero.nyextends;

public class NoNameDemo01{

public static void main(string[] args) {

//在 java 中去创建一个匿名子类对象

A2 a2 = new A2()

@Override

public void cry(){

System.out.printin("cry...");

}

};

a2.cry();

}

}

abstract class A2{

Abstract public void cry();

}

 

三、scala 匿名子类

跟 java 的匿名之类其实非常的相似,使用方法几乎跟 java 一样。

例:

新建一个 ScalaNameDemo02选择 object

object ScalaNoNameDemoe2

def main(args: Array[String]): Unit={

val monster =new Monster {

override def cry():Unit ={

println("妖怪嗷嗷叫...:)")

}

override var name: String=_

}

monster.cry()

}

}

abstract class Monster{

var name:string

}

做了一个匿名子类,然后实例化了一个对象。因为这是一个抽象类,本质上 abstract 可以拿掉,运行结果:

D:\program\jdk8\bin\java

...

妖怪嗷嗷叫...:)

说明代码运行成功。

相关文章
|
5月前
|
编译器
继承——抽象基类与访问权限
继承——抽象基类与访问权限
|
6月前
|
C++
C++程序中的派生类成员访问属性
C++程序中的派生类成员访问属性
52 1
|
C++
45 C++ - 继承中同名成员的处理方法
45 C++ - 继承中同名成员的处理方法
48 0
|
6月前
|
Java
不同访问修饰符的访问数据权限的区别
不同访问修饰符的访问数据权限的区别
|
存储 Java
Java内部类 - 局部/匿名/成员/静态内部类
Java内部类 - 局部/匿名/成员/静态内部类
90 0
|
Java
接口的匿名实现类
接口的匿名实现类
47 1
|
Java 程序员 C#
C++类成员的访问权限以及类的封装
C++通过 public、protected、private 三个关键字来控制成员变量和成员函数的访问权限,它们分别表示公有的、受保护的、私有的,被称为成员访问限定符。所谓访问权限,就是你能不能使用该类中的成员。 Java、C# 程序员注意,C++ 中的 public、private、protected 只能修饰类的成员,不能修饰类,C++中的类没有共有私有之分。 在类的内部(定义类的代码内部),无论成员被声明为 public、protected 还是 private,都是可以互相访问的,没有访问权限的限制。 在类的外部(定义类的代码之外),只能通过对象访问成员,并且通过对象只能访问 p
101 0
|
Java
抽象类的匿名子类
抽象类的匿名子类
53 0
|
编译器 数据安全/隐私保护 C++
【六、继承】多继承、继承中的构造函数和析构函数、类成员访问控制
【六、继承】多继承、继承中的构造函数和析构函数、类成员访问控制
157 0
【六、继承】多继承、继承中的构造函数和析构函数、类成员访问控制
|
C#
匿名委托
匿名委托
110 0