专注Java教育14年 全国咨询/投诉热线:444-1124-454
赢咖4LOGO图
始于2009,口口相传的Java黄埔军校
首页 常见问题 赢咖4注册机构:java中的内部类和匿名内部类有什么区别

赢咖4注册机构:java中的内部类和匿名内部类有什么区别

更新时间:2024-04-21 14:59:21 来源:赢咖4 浏览58次

Java中的内部类和匿名内部类是两种特殊的类。

 

内部类是定义在另一个类内部的类,它可以访问包含它的类的私有属性和方法,它还可以继承其他类和实现接口。内部类的访问修饰符可以是public、private、protected或默认,它可以被声明为static或非static,可以访问外部类的成员,也可以访问同一外部类中的其他内部类。内部类通常用于实现某种接口或继承某个类。

 

匿名内部类是一种没有名字的内部类,它通常用于创建实现某个接口或继承某个类的对象,这个对象只使用一次。匿名内部类必须在定义时就创建对象,不能延迟到稍后再创建。它的语法格式为在实例化一个接口或抽象类的对象时,通过“new 接口名/抽象类名()”来定义匿名内部类。

 

举例来说,以下是一个内部类和一个匿名内部类的示例代码:

 

 

在上面的例子中,InnerClass是一个内部类,它可以访问外部类的私有属性x;testInnerClass()方法中创建了一个内部类对象,并调用了printX()方法。testAnonymousInnerClass()方法中创建了一个匿名内部类对象,它实现了Runnable接口的run()方法,并在新线程中打印一条消息。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>