java中匿名内部类的特点是什么

java中匿名内部类的特点是:1、 匿名内部类使用单独的块表示初始化块{};2、 匿名内部类想要使用方法或域中的变量,该变量必须是final修饰的,JDK1.8之后effectively final也可以;3.、匿名内部类默认包含了外部类对象的引用;4、匿名内部类表示继承所依赖的类。

java中匿名内部类的特点是什么-Worktile社区

一、内部类是什么

内部类的定义为:定义在另一个类或方法中的类。而根据使用场景的不同,内部类还可以分为四种:成员内部类,局部内部类,匿名内部类和静态内部类。每一种的特性和注意事项都不同。

二、匿名内部类

匿名内部类是与继承合并在一起的没有名字的内部类。

public class Outer{
    public List list=new ArrayList(){
        {
            add("test");
        }
    };
}

这是我们平时最常用的语法。

匿名内部类的特点如下:

1、匿名内部类使用单独的块表示初始化块{}
2、匿名内部类想要使用方法或域中的变量,该变量必须是final修饰的,JDK1.8之后effectively final也可以
3、匿名内部类默认包含了外部类对象的引用
4、匿名内部类表示继承所依赖的类

延伸阅读

为什么要有内部类

1. 完善多重继承

  1. 在早期C++作为面向对象编程语言的时候,最难处理的也就是多重继承,多重继承对于代码耦合度,代码使用人员的理解来说,并不怎么友好,并且还要比较出名的死亡菱形的多重继承问题。因此Java并不支持多继承。
  2. 后来,Java设计者发现,没有多继承,一些代码友好的设计与编程问题变得十分难以解决。于是便产生了内部类。内部类具有:隐式包含外部类对象并且能够与之通信的特点,完美的解决了多重继承的问题。

2. 解决多次实现/继承问题

  1. 有时候在一个类中,需要多次通过不同的方式实现同一个接口,如果没有内部类,必须多次定义不同数量的类,但是使用内部类可以很好的解决这个问题,每个内部类都可以实现同一个接口,即实现了代码的封装,又实现了同一接口不同的实现。
  2. 内部类可以将组合的实现封装在内部中。

文章标题:java中匿名内部类的特点是什么,发布者:小编,转载请注明出处:https://worktile.com/kb/p/37514

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小编的头像小编

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部