欢迎光临散文网 会员登陆 & 注册

Java笔记--内部类

2023-09-05 16:00 作者:爪哇岛江户川  | 我要投稿

一、内部类

以后在实际开发中很少自己去写。

概念:内部类就是在类中继续编写一个类。

1、成员内部类

内部类创建对象的格式:

内部类中,访问外部类的成员:可以直接访问。

外部类中,访问内部类的成员:需要创建对象。

2、静态内部类

内部类也可以被static修饰,它也算是外部类的一个成员。

3、局部内部类

太鸡肋了,不用。

4、匿名内部类

是一个特殊的局部内部类(定义在方法内部),前提:需要存在一个接口或者类。

下面我们将通过一个例子来感受匿名内部类的作用:

我们先准备一个接口Inter,在里面编写一个抽象方法show( );

然后在主方法平级的位置编写了一个use方法,方法的参数就是刚刚的Inter类型,然后在里面去调用show方法。

然后我们想调用这个useInter方法,如果我们直接调用会报错,错误的原因是没有传递参数

方法的形参是一个接口类型Inter,我们应该传入什么参数?

接口不能实例化,所以不能new一个Inter类型的对象。

所以只能传递这个接口的实现类对象了。

当方法的形参是一个实现类对象,我们只能传入接口的实现类对象。

这里我们新建一个Inter的实现类,重写方法。

我们就可以创建实现类对象,传入方法里面去。以多态的形式(父类引用指向子类对象)

如果使用匿名内部类如何完成方法的调用?

下面就是用匿名内部类完成方法的调用。

匿名内部类并不能完全替代实现类,如果接口里面抽象方法多就手写实现类,如果少就用匿名内部类。


Java笔记--内部类的评论 (共 条)

分享到微博请遵守国家法律