淘先锋技术网

首页 1 2 3 4 5 6 7

内部类和匿名内部类是什么?

一、内部类: 内部类是定义在另一个类中的类,使用它的原因主要有3个: 内部类方法可以访问该类定义所在的作用域中的数据,包括私有的数据; 内部类可以对同一个包中的其他类隐藏以来; 当想要定义一个回调函数且不想编写大量代码时,使用匿名内部类比较便捷。

二、局部内部类: 讨论匿名内部类之前,先看看局部内部类,它是在一个方法中定义的类。 局部内部类不能用public或private访问说明符来声明,它的作用域被限定在声明这个局部内部类的块中。局部内部类可以对外部世界完全地隐藏起来。 局部内部类不仅能访问其外围类,还可以访问局部变量,不过这些局部变量必须被声明为final,如上述代码中start()方法的参数beep所示。

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