回顾了下java关于类的知识,做了个比喻:
- 麦片粥 -----------主类
- 葡萄干麦片粥 -----------内部类
- 冰糖麦片粥 -----------匿名内部类
他们的关系如下:
看起来:
葡萄干放到麦片粥里,增加了新口味,并且葡萄干清楚可见————内部类增加了新功能,且不和主类混成一坨
冰糖放到麦片粥里,增加了新口味,但很难看出冰糖在哪里,看起来就是一坨麦片粥(黄糖还是看见的)————内部类混合进主类里了,看起来只有一个类。
吃起来:
我们可以直接把葡萄干挑出来吃,但会沾上一点粥————类A调用另一个类B的内部类C,要把这个内部类C绑定在他自己的主类B上(主类B中new出内部类C)
至于冰糖麦片粥,你从粥里是弄不出冰糖来的。