黑马程序员技术交流社区

标题: Java为什么需要内部类? [打印本页]

作者: 黄坚声    时间: 2012-5-11 21:16
标题: Java为什么需要内部类?
Java为什么需要内部类?

作者: 谭景宾    时间: 2012-5-11 21:23
给你举两个例子 特典型,(1)比如定义一个类Panda(熊猫),继承抽象类Animal(动物)这个类,并且实现Protect(受保护的)这个接口,但是奇怪的是Animal和Protect中都有抽象方法:price(价格){}这个方法(动物类),请问Panda(熊猫)怎么处理?这是就要用到内部类。。。
(2)有时候一个类只需要在一处代码中使用一次,其他位置不会再用到这个类,这时我们就可以用匿名内部类来解决,无需为该类命名。。。例如GUI中监听事件。。。
作者: 王怡然    时间: 2012-5-11 21:28
当描述事物时,事物的内部还有事物,该事物用内部类来描述。
因为内部事务在使用外部事物的内容。
内部类可以直接访问外部类中的成员,包括私有。
之所以可以直接访问外部类中的成员,是因为内部类中持有了一个外部类的引用,格式 外部类名.this
外部类要访问内部类,必须建立内部类对象。
其实内部类可以减少好多的代码书写,不过稍微有点不好阅读.
作者: 黑马-王建雨    时间: 2012-5-11 21:45
这么说吧。宾利车是一个类,但其内部结构:发动机、油箱、刹车系统等又是各种内部类。若这部车坏了,你总得先访问这部车吧,再访问这部车内部的其他配置。 这些内部类提供了供外部类访问的方法。这就是内部类的必要性。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2