Java语言学习之匿名内部类

概念

匿名内部类(Anonymous Inner Class)是Java中的一种特殊的内部类,它没有名称,通常用于覆盖接口或类的方法,或者扩展类。匿名内部类通常用于一次性使用,当你需要为一个方法传递一个实现了某个接口的实例,或者扩展某个类并重写其方法时,匿名内部类提供了一种简便的方式。

语法

new SuperType(arguments) {
    // 类的主体
};

在这里,SuperType 可以是接口,也可以是类。如果是接口,匿名内部类将实现该接口;如果是类,匿名内部类将扩展该类。

特点

  1. 没有名称:匿名内部类没有名称,因此你无法像普通类那样再次创建它的实例。
  2. 局部类:匿名内部类通常在方法内部或代码块中定义,它们可以访问外部类的成员变量和方法,即使是声明为private的。
  3. 只能创建一个实例:匿名内部类通常只用于创建一个实例,创建后无法再次使用。
  4. 用于实现接口或扩展类:匿名内部类通常用于实现一个接口或扩展一个类,并立即使用。

 

示例

// 接口
interface MyInterface {
    void doSomething();
}

// 使用匿名内部类实现接口
MyInterface myInterface = new MyInterface() {
    @Override
    public void doSomething() {
        System.out.println("Doing something...");
    }
};

// 调用接口方法
myInterface.doSomething();

在上面的示例中,我们定义了一个名为 MyInterface 的接口,并在匿名内部类中实现了该接口的 doSomething() 方法。然后,我们创建了该匿名内部类的实例,并将其赋值给 MyInterface 类型的变量 myInterface。最后,我们通过 myInterface 调用了 doSomething() 方法。

匿名内部类在Java的事件处理、GUI编程和集合框架中的迭代器等场景中非常常见。它们提供了一种简洁的方式来定义和创建一次性的类实例。

  • 7
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值