java基础--内部类
内部类:
定义:一个类中包含另一个类。
分类:
1.成员内部类
2.局部内部类(包含匿名内部类)
成员内部类注意事项:内用外,随意使用;外用内,需要内部类对象。
成员内部类的使用方式:
1.间接方式,在外部类的方法中,使用内部类;然后mian只是调用外部类的方法。
2.直接方式:公式法 (外点内)
类名称 对象名=new 类名称();
外部类名称.内部类名称 对象名=new 外部类名称().new 内部类名称();
局部内部类(方法内部定义类),如果希望访问所在方法的局部变量,那么这个局部变量必须是【有效final的】
备注:从java8后,只要局部变量事实不变,那么final关键字可以省略。
原因:
1.new出来的对象在堆内存中。
2.局部变量是跟着方法走的,在堆内存当中。
3.方法运行结束之后,立刻出栈,局部变量就会立刻消失。
4.但是new 出来的对象会在堆内存当中持续存在,直到垃圾消失为止。
匿名内部类*:
如果接口的实现类(或者父类的子类),只需要使用唯一的一次,那么这种情况就可以省略该类的定义,而改为使用匿名内部类。
定义格式:
接口名称 对象名=new 接口名称(){
//覆盖重写所有抽象方法
};

浙公网安备 33010602011771号