黑马程序员技术交流社区

标题: 内部类调用外部类的方法,修改外部类属性,一般什么. [打印本页]

作者: 森仔    时间: 2012-11-14 10:11
标题: 内部类调用外部类的方法,修改外部类属性,一般什么.
本帖最后由 森仔 于 2012-11-24 23:34 编辑

内部类调用外部类的方法,并修改外部类的属性,一般什么时候用呢? 貌似一般都是外部类调用内部类的方法,那样有什么,好处呢???
public class Person_Test7     //此为创建一个外部类
        {
                private String shenFen="群众";    // 外部类私有的属性
                private void jieCeng()  //    外部类私有的方法
                {
                        System.out.println("此人当前的身份是:"+shenFen +"\n");
                }
                  class student     //    此为创建一个内部类
                  {
                          void fuction(Person_Test7 x,String s)  //  内部类自己的方法
                          {
                                  System.out.println("再次创建一个内部类对象用来调用外部类的方法和修改外部类的属性");
                                  x.shenFen=s;           //    修改外部类的属性
                                  x.NEW().meathod_wai();     //  内部类中创造一个外部类的对象,并调用外部类的方法

                          }
                          void meathod_nei( )  //内部类自己的另一个方法
                          {
                                  System.out.println("俺是内部类的\n");
                          }

                                
                  }
                         public void meathod_wai()  //  外部类的另一个方法
                         {
                                System.out.println("我是外部类的\n");
                         }
作者: 陶辰    时间: 2012-11-14 13:05
普通内部类  可以直接调用外部类变量和方法
嵌套内部类  只能调用外部类的static变量和方法

java中的内部类和接口加在一起,可以实现多继承。
可以使某些编码根简洁。
隐藏你不想让别人知道的操作。
作者: 张利    时间: 2012-11-14 14:09
本帖最后由 张利 于 2012-11-14 14:15 编辑

内部类:
成员内部类:内部类作为一个成员出现,大部分使用是private,主要是封装在内部的
局部内部类,方法内部的类,基本不使用
局部匿名内部类:一定会有父类或者是实现的接口,二者只能选其一,比较常见
嵌套类(静态成员类,或者叫静态内部类):与成员内部类的区别是一般修饰为public static

目前学习到的知识比较少,还没怎么见到过内部类的使用, 不过刚学习到了亨元模式,感觉跟内部类的使用有点相似
亨元模式:很多很小的对象,有很多相同的属性,把相同的东西定义成一个内部对象,不同的东西定义成外部的属性
或者方法参数,相同的属性是对象的内部状态
感觉内部类就像是相同部分的定义,外部类就是不同的那些属性呀方法参数呀什么的




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