一.
内部类一般应用于设计。其实就是类定义的位置发生了变化。
截图举例的程序写的相当简单,直接编译,这里想说的是,编译后,由于内部类的存在会得到几个字节码文件。
最终的结果显示为三个类文件。内部类生成的类文件名为Outer$Inner.class,内部类有所属。
内部类本身就是一个普通的类,只是位置定义的不同。类该怎么描述还是怎么描述,关键在于内部类有什么作用?或者说将很多内容定义在内部类里面,有什么意义?
现在假设放置在外面,如果Inner类想要使用Outer类中的num,那么必须建立起Outer类的对象,并在Outer类中定义调用num的函数。
但是如果想更加简单地就可以操作的话,直接将Inner类定义在Outer类的里面即可。这样一来Inner类就相当于外部类的成员。它可以直接访问num,连new对象都可以省。
private私有化,只能在本类有效,Inner类就是在本类里,想要访问它,很容易。稍微修改下,就可以直接访问了。
刚才讲的是Inner类访问的num属性,那么怎么访问内部类呢?在外部类中,定义函数,创建内部类的对象,通过对象来调用。类的使用还是通过对象来的。
Inner类在Outer类的里面,Outer类是不清楚Inner类的里面有什么组成,但是Inner类是知道Outer类的里面的组成的。
这内部类到底什么时候使用?
内部类访问外部类里的属性没有问题,外部类的方法创建内部类的对象并调用内部类的功能也没有问题。
内部类确实方便了访问外部类中的数据,但是在主函数中操作时还是显得复杂一些。