黑马程序员技术交流社区

标题: 关于内部内的一些总结 [打印本页]

作者: 我有上将潘凤    时间: 2016-5-23 23:11
标题: 关于内部内的一些总结
1.成员内部类;
        (1)成员内部类可以访问外部类的所有成员。
        (2)若内部类中存在与外部类同名的变量,则访问时遵循就近原则;
             此时若想强行访问外部类的变量,可以使用:
             “外部类名.this.变量名”进行访问,在此之前若有赋值操作
             则会得到赋值后的变量;但若使用:
             “new 外部类名().变量名”进行访问,得到的则是该变量本身。
        (3)在外部类中创建内部类对象的格式为:
                        内部类名 对象名 = new 内部类名();
                 在其他类中创建内部类对象的格式为:
                        外部类名.内部类名 对象名 = new 外部类名().new内部类名();

2.静态内部类;
        (1)静态内部类可以直接访问外部类的静态成员,创外部类对象访问其他成员;
        (2)可以在不创建外部类对象的情况下被实例化;
        (3)无法在静态内部类的静态方法中访问外部类或内部类的非静态成员,强行要
                访问可以先创建对象;
        (4)在外部类中创建静态内部类对象的格式为:
                        内部类名 对象名 = new 内部类名();
                 在其他类中创建内部类对象的格式为:
                        外部类名.内部类名 对象名 = new 外部类名.内部类名();

3.方法内部类;
        (1)可以访问外部类的成员
        (2)所调用的局部变量必须用final修饰
        (3)无法用static修饰;
        (4)只能在当前方法中被使用。

4.匿名内部类;
        (1)必须有父类或接口;
        (2)其实质是父类的子类或接口的实现类的对象,即多态;
        (3)格式是:
                        new 接口名或父类名() {
                                重写方法;
                        };
作者: wanggan123    时间: 2016-5-24 00:30
干货啊。。。




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