java-oop-内部类

内部类:
        定义在类内部的新类型称为内部类,另一个类称为外部类
        根据位置不同分为:
                成员内部类
                方法内部类(局部内部类)
        带static修饰词的类:静态内部类
        无名称的类:匿名内部类
        不常用的类:方法内部类和静态内部类
                方法内部类:定义在方法中,相当于局部变量,仅限于在方法中使用,定义时不能使用修饰词,可以直接访问外部类的非静态成员变量
                静态内部类:也是以类的成员来定义的,多了一个修饰词static,可以直接访问外部类的静态成员
        比较常用的类:成员内部类和匿名内部类
                成员内部类:以类的成员来定义,可以使用修饰词
                        内部类访问外部类的成员,方法内隐藏了一个指向外部类对象的引用----外部类名.this.
                    创建对象:先创建一个外部类的对象outer,使用外部类对象使用new调用内部类的构造器,实例化Inner inner = outer.new Inner(有参传参)
                        外部类访问内部类的成员:在外部类添加一个内部类的成员变量进行访问
                匿名内部类:想使用某个类或抽象类或接口的子类对象时,因为只用一次,此时可以不定义子类的结构,因此可以使用匿名内部类的写法,又因为没有子类名称,写法可以向上造型,
                        = new 父类的名称(){}; {}里要重写接口或抽象类里的所有抽象方法,或重写某一个实现方法

猜你喜欢

转载自blog.csdn.net/qq_38741415/article/details/81607824