黑马程序员技术交流社区

标题: 内部类的一些疑惑 [打印本页]

作者: walkonby    时间: 2013-1-24 09:36
标题: 内部类的一些疑惑
本帖最后由 张政 于 2013-1-26 13:29 编辑

老师说A类中想使用B类的东西就必须new一个A类 但是把B作为内部类放在A类里就不用new,这样方便 但是为什么不直接一起写在A类中不要B类呢 而且外部类要访问内部类的时候还要创建内部类的对象 在其他类创建这个内部类的对象更是麻烦 感觉内部类很鸡肋的样子
作者: 王少雷    时间: 2013-1-24 11:04
不一定啊。根据业务需要,可能有时候 一个小功能 需要简单处理一下,又不想影响,其他类功能的统一 性。。。就用内部类,简单处理一下,并且内部类,加载周期还短。
作者: 郭嘉    时间: 2013-1-24 11:09
我个人理解为,这是java的的封装的一种体现,因为内部类中的方法可以直接放问外部类中的成员,包括了private,所以在操作外部类时候更方便,而你所说的其他类调用内部类很麻烦,因为内部类本身定义的就是方便使用外部类的方法,所以其他类调用麻烦一些也是可以理解的
作者: 熊永标    时间: 2013-1-24 11:25
java是一门纯粹的面向对象语言。而面向对象的三要素为封装,继承,多态。外部类包装内部类有时是有必要的,比如设计模式中的单例模式,工厂模式等等,在一个主要的外部类中包装内部类,以便于把外部类的的种种信息封装起来,然后在外部类中定义一个获取内部类的方法,返回内部类以对对象的操作和使用外问类的成员信息。
作者: walkonby    时间: 2013-1-24 12:02
王少雷 发表于 2013-1-24 11:04
不一定啊。根据业务需要,可能有时候 一个小功能 需要简单处理一下,又不想影响,其他类功能的统一 性。。 ...

这样啊 那还有用 临时有用就用一下 用完就仍了  哈哈 感觉用面向对象的思想来描述男女感情的话.......面向对象是残酷的..
作者: 黑马张旭    时间: 2013-1-24 12:08
当描述事物时,事物的内部还有事物,该事物用内部类来描述。
因为内部事务在使用外部事物的内容。

class Body
{
        private class XinZang
        {

        }

        public void show()
        {
                new XinZang().
        }
        
}

毕老师是这样解释的  首先心脏里有很多功能 你把它封装对象最合理 然后可以方便的调用心脏该有的方法和属性  并且心脏是身体内部的器官 它能调用身体其他的器官和东西
所以你不用内部类的话  还得先 new 个 body 这样不优化  所以内部定义 并且心脏不能比人随便看到 得私有

作者: 高浩    时间: 2013-1-25 13:54
类是用来描述事物的,而事物中还可能存在其他事物,也需要进行描述,这时就用到内部类,(例如人和心脏,人是外部类,心脏是外部类)
内部类出现,符合我们现实世界的思想,
它加载周期短




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