时间:2018-07-22 00:00:00 来源:信盈达 作者:信盈达
说起Java的内部类这个词,想必很多人都不陌生,但是又会觉得不熟悉。原因是平时编写代码时可能用到的场景不多,用得最多的是在有事件监听的情况下,并且即使用到也很少去总结内部类的用法。今天我们就来一探究竟。
内部类,嵌套在另一个类的里面,所以也称为 嵌套类
内部类可以分为4种内别:
1. 成员内部类
成员内部类是最普通的内部类,它的定义为位于另一个类的内部,形如下面的形式:
成员内部类可以无条件访问外部类的所有成员属性和成员方法. 不过要注意的是,当成员内部类拥有和外部类同名的成员变量或者方法时,会发生隐藏现象,即默认情况下访问的是成员内部类的成员。如果要访问外部类的同名成员,需要以下面的形式进行访问:
2. 匿名内部类
一个没有被定名字内部类叫做匿名内部类,应该是平时我们编写代码时用得最多的,在创建这个匿名内部类后,便会立即用来创建并返回此内部类的一个对象引用。在编写事件监听的代码时使用匿名内部类不但方便,而且使代码更加容易维护。
经典使用方式:
1)线程使用
3. 静态内部类
静态内部类也是定义在另一个类里面的类,只不过在类的前面多了一个关键字static。因为是static,静态内部类是不需要依赖于外部类的,这点和类的静态成员属性有点类似,并且它不能使用外部类的非static成员变量或者方法,这点很好理解,因为在没有外部类的对象的情况下,可以创建静态内部类的对象.
经典使用方式:
1) 单例模式
2) 接收json参数
4. 局部内部类
局部内部类是定义在一个方法或者一个作用域里面的类,它和成员内部类的区别在于局部内部类的访问仅限于方法内或者该作用域内。
一般成员内部类我们使用的最少,静态内部类和匿名内部类一般我们使用的很多.
信盈达2008年在深圳特区南山高新科技园成立。自成立至今近九年来专注为企业和个人提供高端方案设计、高端嵌入式/Android培训等服务。公司下设信盈达实训学院、信盈达研发中心、信盈达教学仪器三大业务板块。九年来公司坚持"技术领先、服务领先",以雄厚的实力和专业的品质成为国内唯一有实力从产品最底层研发到系统层开发的嵌入式实训、产品解决方案提供商。为中国IT行业提供最具价值的职业教育服务。专业培训i嵌入式、物联网、人工智能、Java、单片机等课程,想了解更多信息点击立马咨询
免费领取试听卡
申请已经提交
老师会马上给您安排试听课程!
申请出错了
您可以加老师QQ:914865590报名咨询!