为什么要定义内部类??

来源:互联网 发布:windows更改账户头像 编辑:程序博客网 时间:2024/04/30 04:55

          当我们在设计一个程序的时候,会考虑说这个程序里面有没有其他的事务,如果说有,我们可以采用在外面另开一个类,同时也可以考虑在里面定义一个类,这样的话,里外都可以是使用,但不是里外不是人大笑,这样的话,外部类想访问内部类的成员变量和方法都行,内部类想访问外部类的方法也可以。。。

    class Outer {

         

           public int num = 9;

           public void method() {

             System.out.println("num="+num);

           }

                

                 public Inner getInner() {

                     return new Inner();

          }

 

          class Inner {

               public void show() {

                   System.out.println("show");

               }

           }

 

    }

 

   public class TestMain {

             public static void main(String[] args) {

                 Outer outer = new Outer();

                 outer.getInner().show();

            }

   }

 

            什么时候我们可以使用内部类来设计程序呢?

        当一个事务中还有另外一个事务的时候,我们可以选择使用内部类来做,这样可以保证内外相通

 

       当在一个外部类的函数里面定义一个内部类的时候特别要注意:内部类的函数去访问这个函数里面的局部变量的时候必须对这个局部变量设置成为final

         例如:Class Outer {

                            public void method() {

                                       final int num = 1;

                                        class Inner_Inner {

                                                    public void show() {

                                                          System.out.println(num);

                                                    }

                                        }

                             }

                   }

          

原创粉丝点击