千锋教育Java入门全套视频教程(java核心技术,适合java零基础,Java

Java常用内部类
1、定义:在类的内部定义另一个完整的类,类的嵌套
2、内部类的分类:
(1)局部内部类:定义在类中的方法中,在定义类的代码之后直接创建,作用范围仅限于本方法中。
作用:承载更多的数据,限制访问范围
注意:在局部内部类中访问方法中的局部变量,局部变量需要使用final修饰,使得生命周期更长。
(2)成员内部类:定义位置在类中方法外,创建对象时候需要先创建外部类对象,成员内部类可以访问外部类中所有的内容。
创建对象方法:外部类.内部类 对象名 = 外部类对象.new 内部类的构造器();
作用:承载更多的数据,和外部类关联比较紧密
注意:变量名重名的时候需要区分(外部类.this.内部类属性)
(3)静态内部类:定义位置在类中方法外,使用static修饰,可以直接使用类名调用创建对象。
创建对象方法:静态内部类创建对象不在依赖外部类对象,外部类.内部类 对象名 = new 外部类.内部类的构造器
作用:如果内容需要加载的时机很早,可以使用静态实现注意:只能调用静态数据,不能访问非静态成员
(4)匿名内部类:定义位置在方法中,没有名字。
匿名内部类创建对象:new接口/抽象类(构造的参数列表){匿名的局部内部类},并且需要重写方法。
作用:更方便的创建对象。
注意:接口和抽象类不能存在过多的方法。