内部类和匿名内部类是什么??有什么作用??

2024-12-03 09:20:07
推荐回答(1个)
回答1:

  一、内部类:

  内部类是定义在另一个类中的类,使用它的原因主要有3个:

  内部类方法可以访问该类定义所在的作用域中的数据,包括私有的数据;

  内部类可以对同一个包中的其他类隐藏以来;

  当想要定义一个回调函数且不想编写大量代码时,使用匿名内部类比较便捷。

  二、局部内部类:

  讨论匿名内部类之前,先看看局部内部类,它是在一个方法中定义的类。

  局部内部类不能用public或private访问说明符来声明,它的作用域被限定在声明这个局部内部类的块中。局部内部类可以对外部世界完全地隐藏起来。

  局部内部类不仅能访问其外围类,还可以访问局部变量,不过这些局部变量必须被声明为final,如上述代码中start()方法的参数beep所示。

  三、匿名内部类

  将上面的局部内部类的代码修改一下,就可以定义一个匿名内部类,这种类没有类名。匿名内部类除了具有内部类的优点外,还可以减少代码量。