Java——内部类的概述和匿名内部类的格式

内部类教学目标:

能够说出内部类的概念一、内部类

概述:什么是内部类的定义将一个类A定义在另一个类B里面,里面的那个类A就被称为内部类,B则称为外部类

成员内部类:是定义在类中方法之外的类

定义格式如下所示:

打开百度App,看更多图片

在描述事物的时候,若一个事物内部还包含其他事物,就可以使用内部类这种结构。比如,汽车类car中是包含发动机类的Engine,在这个时候,Engine就可以使用内部类来描述,定义在成员的位置。

代码举例:

访问特点

内部类可以直接访问外部类的成员,包括私有成员

外部类要访问内部类的成员,必须要建立内部类的对象

创建内部类对象格式:

访问演示,代码如下:

定义测试类:

内部类仍然是一个独立的类,在编译之后的内部类会被编译成独立的.class文件,但是前面是被加上外部类的类名和$符号;比如:Person$Heart.class

2.匿名内部类【重点】

匿名内部类:是内部类的简化写法,它的本质是一个带具体实现的,父类或者父接口的,匿名的,子类对象。在开发的过程中,最常用到的就是匿名内部类了。我们来用一个接口举例,当我们在使用一个接口的时候,要做的似乎是下面这几步:

定义子类重写接口中的方法创建 子类对象调用重写后的方法我们在这边的目的是,最终只是为了调用方法,那么能不能简化一下?把刚刚我们说的步骤合为一步呢?其实匿名内部类就是做这样的快捷方式;

前提:匿名内部类必须是继承一个父类或者实现一个父接口。

格式如下所示:

使用方式:

以接口为例,匿名内部类的使用,代码如下:

定义接口:

 

创建匿名内部类 并且调用的格式如下:

通常在方法的形式参数接口或者是抽象类的时候也可以将匿名的内部类作为参数传递,代码如下所示:

上面的两个步骤是可以化简为一个步骤的:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值