内部类是定义在另一个类中的类。为什么需要使用内部类呢? 其主要原因有以下三点:
- 内部类方法可以访问该类定义所在的作用域中的数据,包括私有的数据。
- 内部类可以对同一个包中的其他类隐藏起来。
- 当想要定义一个回调函数且不想编写大量代码时,使用匿名内部类比较便捷。
那么接下来直接上代码来举例
public class Test {
// 静态内部类
static class C implements A {
@Override
public void lambad() {
System.out.println("我是静态内部类");
}
}
public static void main(String[] args) {
A object = new B();
object.lambad();
// 静态内部类的方式
object = new C();
object.lambad();
// 局部内部类
class D implements A {
@Override
public void lambad() {
System.out.println("我是局部内部类");
}
}
object = new D();
object.lambad();
// 匿名内部类 没有类的名称,必须实现接口或者父类
object = new A() {
@Override
public void lambad() {
System.out.println("我是匿名内部类");
}
};
object.lambad();
}
}
//定义一个函数式接口
interface A {
void lambad();
}
//实现类
class B implements A {
@Override
public void lambad() {
System.out.println("我是普通实现类");
}
}
好了,这次的文章就到这里,喜欢的同学可以点赞收藏,遇到问题,可以评论,或者留言,我一定会第一时间给到回馈,感谢观看!!
注:本文为本人学习时心得分享,有讲错或者需要改正的地方,请指正,我会虚心接受