java基础--内部类

内部类:

  定义:一个类中包含另一个类。

  分类:

    1.成员内部类

    2.局部内部类(包含匿名内部类)

  成员内部类注意事项:内用外,随意使用;外用内,需要内部类对象。

  成员内部类的使用方式:

    1.间接方式,在外部类的方法中,使用内部类;然后mian只是调用外部类的方法。

    2.直接方式:公式法   (外点内)

      类名称  对象名=new 类名称();

      外部类名称.内部类名称  对象名=new 外部类名称().new  内部类名称();

   

  局部内部类(方法内部定义类),如果希望访问所在方法的局部变量,那么这个局部变量必须是【有效final的】

    备注:从java8后,只要局部变量事实不变,那么final关键字可以省略。

    原因:

      1.new出来的对象在堆内存中。

      2.局部变量是跟着方法走的,在堆内存当中。

      3.方法运行结束之后,立刻出栈,局部变量就会立刻消失。

      4.但是new 出来的对象会在堆内存当中持续存在,直到垃圾消失为止。

  匿名内部类*:

    如果接口的实现类(或者父类的子类),只需要使用唯一的一次,那么这种情况就可以省略该类的定义,而改为使用匿名内部类。

    定义格式:

      接口名称  对象名=new  接口名称(){

         //覆盖重写所有抽象方法

      };

      

 

posted @ 2020-09-22 10:39  lemmon_water  阅读(114)  评论(0)    收藏  举报