内部类和匿名内部类的用法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了内部类和匿名内部类的用法相关的知识,希望对你有一定的参考价值。

参考技术A   Java内部类分四种,成员内部类、局部内部类、内部类和匿名内部类:

  1、内部类用法特点, 静态内部类定义在类中,任何方法外,用static定义,注意静态内部类中可以定义静态或者非静态的成员。

  2、匿名内部类,匿名内部类是一种特殊的局部内部类,它是通过匿名类实现接口。

  匿名内部类的用法特点:

  1、一个类用于继承其他类或是实现接口,并不需要增加额外的方法,只是对继承方法的事先或是覆盖。

  2、只是为了获得一个对象实例,不需要知道其实际类型。

  3、类名没有意义,也就是不需要使用到。

内部类和匿名内部类

2017-08-07

内部类

定义:把类定义在其他类的内部,这个类就被称为内部类

内部类的访问特点:内部类可以直接访问外部类的成员,包括私有的

         外部类要访问内部类的成员,必须要创建对象

内部类可以按位置分为成员内部类和局部内部类

1.成员内部类:写在类里面,方法外面,任何一种修饰符都可以修饰成员内部类,常用 private 和static ,private保护数据安全性,static使数据访问方便

测试成员内部类:方法1 外部类名.内部类名 对象名 = new 外部类名().new 内部类名();

        方法2 在外部类的方法中创建内部类的对象,测试外部类的方法对内部类进行测试

注意事项:被静态修饰的成员内部类只能访问外部类的静态成员

     静态成员内部类访问非静态方法的方式:外部类名.内部类名 对象名 = new 外部类名.内部类名()

            访问静态方法的方式:上面所述的方法,或 外部类名.内部类名.方法名()

2.局部内部类:写在类的方法中

注意事项:测试局部内部类时,在内部类所在的方法内创建内部类的对象,再通过测试外部类方法去测试内部类

     局部内部类去访问它所在的方法的局部变量时,这个变量必须被final修饰,这和他们在内存中存在的时间有关

匿名内部类

内部类的简化写法

在多态中应用,如果没有一个合适的类去继承并实现抽象类或接口中的抽象方法,这时就可以创建一个匿名内部类,去实现接口或抽象类中的抽象方法,并作为参数传递。

 

以上是关于内部类和匿名内部类的用法的主要内容,如果未能解决你的问题,请参考以下文章

该如何理解匿名内部类的功能?

内部类和匿名内部类

内部类和匿名内部类

java内部类的匿名内部类

22.内部类和匿名内部类

java内部类与匿名内部类作用分别是啥?