黑马程序员技术交流社区

标题: java内部类总结 [打印本页]

作者: jiaweizhang    时间: 2015-9-18 10:43
标题: java内部类总结
----->内部类:  在类中在定义类称为内部类,一个类中,可以定义多个内部类

内部类访问规则:
        1.内部类可以直接访问外部类中的成员,包括私有。
          因为内部类中成员持有一个外部类的引用,格式:外部类.this
        2.外部类要访问内部类的成员,要先创建内部类对象。
          
外部类其他类访问内部类:
格式:外部类.内部类 变量名 = new 外部类().new 内部类();

类B是类A的内部类,在类C中访问内部类:A.B ab = new A().new B();

内部类定义在成员的位置上时(成员内部类):
1.可以被private 修饰
2.可以被static 修饰

如果内部类定义在局部位置上时(局部内部类):
1.可以直接访问外部类成员
2.不能被成员修饰符修饰
3.不能访问所在局部的变量
4.可以访问所在局部的final变量

当事务内部还有事务,可以设计为内部类

匿名内部类:--->
1.匿名内部类是内部类的简写格式
2.定义匿名内部类的前提:
   内部类必须是继承一个类或者接口
3.匿名内部类格式: new 父类或接口(){定义子类内容}
4.匿名内部类是一个匿名子类的对象

Class A{

   void meth(){
       
        //1.直接调成员
        new B(){        //此为匿名内部类,B是父类
          void show(){  //show为重写父类的方法
            
          }.show();        //.show(),调用匿名内部类的show方法
        }
       
        //2.给匿名内部类起名字,再调用
        B b = new B(){       
            void show(){  
            
            }
        }
        b.show();        //.show(),调用匿名内部类的show方法

       
   }
}




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