内部类、异常

发布时间 : 星期日 文章内部类、异常更新完毕开始阅读

1 内部类

1.1 内部类的概述

将类定义在另一个类的内部则成为内部类。其实就是类定义的位置发生了变化。

在一个类中,定义在类中的叫成员变量,定义在函数中的叫成员函数,那么根据类定义的位置也可以分为成员内部类和局部内部类。

备注:内部类生产的class文件为 “外部类$内部类”,为了标明该内部类是属于具体哪个外部类的。

1.2 成员内部类的访问方式

1. 内部类可以直接访问外部类的成员属性。(孙悟空相当于内部类飞到牛魔王的肚子

里面去)。

2. 外部类需要访问内部类的成员属性时需要创建内部类的对象。

1. 在外部类的成员函数中创建内部类的对象,通过内部类对象对象直接

访问内部类的成员。

2. 在其他类中直接创建内部类的对象。

Outer.Inner inner = new Outer().new Inner();

外部类访问内部类的属性

编译异常分析:外部类需要访问内部类的属性时,需要创建内部类的对象访问。

有A类和B类,当A类想要直接访问B类中的成员,而B类又需要建立A类的对象来A类中的成员。这时,就将A类定义成B类的内部类。比喻:孙悟空和铁扇公主。孙悟空到了公主肚子中,就成了内部类(其实是持有外部类的对象引用)。

疑问: 什么时候使用内部类呢?

当我们分析事物时,发现事物的内部还有具体的事物,这时则应该定义内部类了。

比如人体是一个类,人体有心脏,心脏的功能在直接访问人体的其他内容。这时就将心脏定义在人体类中,作为内部类存在。

内部类的优势:成员内部类作为外部类的成员,那么可以访问外部类的任意成员。

1.3 成员内部类访问细节

私有的成员内部类不能在其他类中直接创建内部类对象来访问。

联系合同范文客服:xxxxx#qq.com(#替换为@)