内部类

本文详细介绍了Java中的内部类,包括概述、成员内部类、局部内部类和匿名内部类。内部类可以直接访问外部类的所有成员,而外部类需要通过内部类对象访问其内部成员。局部内部类仅在方法内可见,而匿名内部类通常用于快速实现接口或继承类的功能,简化代码。在实际开发中,匿名内部类常用于传递接口实现或简化一次性使用的类定义。
摘要由CSDN通过智能技术生成

内部类

概述

  内部类就是在一个类中定义一个类。

内部类的访问特点

  • 内部类可以直接访问外部类的成员,包括私有
  • 外部类要访问内部类的成员,必须创建对象

分类

  按照内部类 在类中定义的位置不同,可以分为如下两种形式:

  • 在类的成员位置:成员内部类
  • 在类的局部位置:局部内部类

成员内部类

  成员内部类的定义位置:在类中跟成员方法,变量是一个位置。

  将一个类,设计为内部类的目的,大多数都是不想让外界去访问,所以内部类的定义应该私有化,私有化之后,再提供一个可以让外界调用的方法,方法内部创建内部类对象并调用。
  使用成员内部类,就是为了将成员内部类中的内容隐藏起来,并不想让外界直接看到(不能直接访问)。所以内部类的修饰符,一般用private,而不是public。

局部内部类

  局部内部类是在方法中定义的类,外界无法直接使用,需要在方法内部创建对象并使用。
  该类可以直接访问外部类的成员,也可以访问方法内的局部变量。

匿名内部类

  当需要一个类来继承某个已经存在的类(或者实现某个已经存在的接口),且这个类的使用范围局限,不需要新开一个文件来记录这个类的时候,可以使用匿名内部类。

前提:存在一个类或者接口,这里的类可以是具体类也可以是抽象类。
本质:是一个继承了该类或者实现了该接口的子类匿名对象
重写方法:继承类或实现接口。

new xxx:说明是一个对象,但是对象没有名字。

匿名内部类,本质是一个对象,继承类或实现接口。

匿名内部类在开发中的使用

  当发现某个方法需要接口或抽象类的子类对象,可以传递一个匿名内部类过去,来简化传统的代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值